我制作了一个简单的 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,我没有看到任何消费者。
这是正确的方法吗?
如果它是正确的方法,我该怎么做。
任何人都可以建议我。
谢谢。