我制作了一个简单的 Jms 项目,其中包含 2 个 java 文件名,MessageSender.java,MessageConsumer.java
一个用于向其发送消息Activemq:Queue
,另一个用于从Activemq:Queue
.Deployed 这个项目中使用消息。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:Queue
. 所以我不想按照这种方式发送消息。
我在想,如果我通过 Activemq 控制台页面停止消费者。我不需要停止Tomcat
所以客户端可以正常发送消息。为此我检查AMQ console page
,我没有看到任何消费者。
这是正确的方法吗?
如果它是正确的方法,我该怎么做。
任何人都可以建议我。
谢谢。