我使用Listener来读取MQ中的消息,如链接here
中所述ExampleMessageListener: 这实现了接口javax.jms.MessageListener
的onMessage方法听众:
<bean id="messageListener" class="sample.ExampleMessageListener" />
<bean id="msgListenerContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsConnectionFactory" />
<property name="destination" ref="jmsQueue" />
<property name="messageListener" ref="messageListener" />
</bean>
<jee:jndi-lookup id="jmsConnectionFactory" jndi-name="jms/CF1" />
<jee:jndi-lookup id="jmsQueue" jndi-name="jms/jmsQueue" />
我想在读取MQ中的所有消息时停止监听器吗? (换句话说,在MQ中没有消息时停止监听器)
确定MQ中消息不可用的最佳方法吗?
答案 0 :(得分:0)
使用jms浏览器?
session.createBrowser(session.createQueue("Q"))
https://docs.oracle.com/javaee/7/api/javax/jms/Session.html#createBrowser-javax.jms.Queue-
https://docs.oracle.com/javaee/7/api/javax/jms/QueueBrowser.html#getEnumeration--
启动和停止DMLC,请参阅此处control-message-listener-container-to-stop-for-certain-period-and-start-again