0

我想在 Glassfish v3 服务器上设置一个 JMS 队列,以便在 sql 服务器上保存一些协议信息。

我的第一次尝试在 sql server 上出现了很多死锁。

我的第一个问题是:队列中的消息是依次处理还是并行处理。它如何设置它来处理彼此之后的消息。时间不起作用。我只想给 sql server 带来最小的负载。

第二个:我在哪里可以看到有多少消息在队列中等待处理?我查看了 glassfish 的监控以及

http://server:adminport/__asadmin/get?monitor=true&pattern=server.applications.ear.test.war.TestMessageDrivenBean.*

但我看不到“待处理”值或类似的值。

非常感谢,

哈桑

4

1 回答 1

1

您绑定到队列的侦听器将在消息到达时对其进行处理。它响应 onMessage 事件。你不必设置任何东西。

您确实必须担心如果由于侦听器无法跟上而导致队列备份会发生什么。

您还应该配置一个错误队列,将无法处理的消息放入其中。

您是否考虑过使队列和数据库操作具有事务性?这样,如果数据库 INSERT 失败,消息就会被放回队列中。您需要一个 XA JDBC 驱动程序和一个事务管理器来完成它。

于 2012-07-26T10:01:06.513 回答