用于在sql server上保存低优先级信息的JMS队列配置

时间:2012-07-26 09:56:24

标签: glassfish jms glassfish-3 message-queue

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

我的第一次尝试最终导致了sql server上很多死锁。

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

第二种:我在哪里可以看到队列中有多少邮件正在等待处理? 我看了一下glassfish的监测以及

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

但我看不到“tobeprocessed”值或s.t.那样的。

非常感谢,

哈桑

1 个答案:

答案 0 :(得分:1)

绑定到队列的侦听器将在消息到达时处理它们。它响应onMessage事件。你不需要设置任何东西。

您必须担心如果队列备份会发生什么,因为侦听器无法跟上。

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

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