【发布时间】:2012-02-27 06:37:27
【问题描述】:
我有一个 spring3 Web 应用程序。我使用 org.springframework.jms.listener.DefaultMessageListenerContainer 来配置我的消息侦听器。我注册了一个 MDPOJO。我想要的是,当 onMessage() 正在为特定请求执行时,其他人应该等到第一个请求完成。换句话说,onMessage() 方法调用进一步的工作流程,完成它需要时间。其他消息在确认先前的请求完成之前,onMessage 不应选择队列中的队列。
是否可以同步处理onMessage()。我需要做以下事情:
- 用户将发布 n 条消息到队列中
- 我应该有一个界面,用户可以在其中从队列中删除消息。
- 当一条消息正在处理中时,不应接收任何其他消息。
- 用户应该能够更改消息处理的优先级
【问题讨论】:
-
你真的需要使用 JMS 和消息队列吗?如果是这样,也许你会尝试只配置一个队列的消费者(即
setConcurrentConsumers(1)) -
很好。现在我必须以编程方式监控 JBoss Queue。是否可以使用 java 代码跟踪 JBoss 队列的状态?我可能必须删除某些我不想处理的消息。我还需要更改处理的优先级。我尝试了不同的机制。我尝试了middlewaremagic.com/jboss/?tag=jms 中的方法。但似乎不起作用
-
JMS 队列的监控依赖于平台。您使用的 JBoss Messaging 版本是什么?
-
我使用默认值和 jboss-5.1.0.GA
标签: spring jms ejb-3.0 jboss5.x