我使用Spring JMS和ActiveMQ作为代理并在Tomcat上运行应用程序。 我有一个队列,比如说queue.a。在我的Web应用程序中,每当我启动Web应用程序时,我都会运行MessageListener。唯一的问题是,我想同时添加某种队列消费者。我已经尝试使用JmsTemplate等。但是当我的消费者(监听器异步和消费者同步)都启动并且我触发.receive()方法时,发送到队列的消息总是被吸引到始终是消息监听器自网络应用程序启动以来在线超时结束后,同步接收器根本不消耗任何消息。
但是,当我注释掉messageListener时,同步客户运行良好。
我还是个新手,你们有没有办法让我想要的东西成为可能?谢谢!抱歉我的英文不好:(
答案 0 :(得分:0)
<bean id="someQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0" value="TEST.QUEUE?consumer.priority=10" />
</bean>
然后,将其设置为您的侦听器/接收器bean:
<bean id="someReceiver" class="blah.blah.SomeReceiver">
<property name="destination" ref="someQueue" />
<property name="jmsTemplate" ref="jmsTemplate" />
</bean>
这会解决您的问题吗?