如何阻止消费者

时间:2013-09-16 07:37:28

标签: jms activemq

我创建了一个简单的Jms项目,其中2个java文件名为MessageSender.java,MessageConsumer.java。一个用于向Activemq:Queue发送消息,另一个用于消费来自Activemq:Queue的消息。在{{1}中部署此项目以下代码是消费者代码。

Apache Tomcat

稍后如果我想更改消费者代码,我不想停止 ActiveMQConnectionFactory connectionFactory=new ActiveMQConnectionFactory("admin","admin","tcp://localhost:61617?jms.prefetchPolicy.queuePrefetch=1"); Connection connection=connectionFactory.createConnection(); final Session session=connection.createSession(true, Session.CLIENT_ACKNOWLEDGE); Queue queue=session.createQueue("ThermalMap"); javax.jms.MessageConsumer consumer=session.createConsumer(queue); //anonymous class MessageListener listener = new MessageListener() { @Override public void onMessage(Message msg) { // My business code } }; ,因为如果我停止Tomcat整个Tomcat不应该有效。因此,客户无法向jms project发送消息。所以我不想这样做。

我在想,如果我通过Activemq控制台页面停止消费者。我不需要停止Activemq:Queue因此客户端可以正常发送消息。为此,我检查Tomcat,我没有'看到任何消费者。

  1. 这样做是否正确。

  2. 如果方法正确,我该怎么做。

  3. 任何人都可以建议我。

    感谢。

1 个答案:

答案 0 :(得分:0)

在MessageConsumer上调用.close()方法。

相关问题