Jms 如何阻止消费者

Jms 如何阻止消费者,jms,activemq,Jms,Activemq,我制作了一个简单的Jms项目,有两个java文件名:MessageSender.java,MessageConsumer.java。一个用于向Activemq:Queue发送消息,另一个用于使用Activemq:Queue中的消息。在Apache Tomcat中部署了这个项目。下面的代码是消费者代码 ActiveMQConnectionFactory connectionFactory=new ActiveMQConnectionFactory("admin","admin","tcp://l

我制作了一个简单的Jms项目,有两个java文件名:MessageSender.java,MessageConsumer.java。一个用于向Activemq:Queue发送消息,另一个用于使用Activemq:Queue中的消息。在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项目都不应该工作。因此,客户端无法向Activemq:Queue发送消息。因此,我不想采用这种方式

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

这样做正确吗

如果这是正确的方法,我怎么能做到这一点

有人能推荐我吗


谢谢。

调用MessageConsumer上的方法。

如果我使用。关闭我的MessageConsumer在处理1条消息后将关闭。如果我想修改任何消费者代码,那么我只想停止消费者。我修改了我的问题。您能检查一下吗。@Hanumath您不需要在消息使用者中关闭它,您可以在其他地方关闭它。我可以从Activemq web控制台页面关闭使用者吗。如果不可能的话。我将在何处关闭。@Hanumath web控制台将关闭连接的代理端。您需要关闭端,并可能重新建立连接。您需要为此创建一些接口,例如网页/servlet或类似的接口。