1

2 つの Java ファイル名を持つ単純な Jms プロジェクトを作成しました。1つはMessageSender.java,MessageConsumer.javaメッセージを送信するためのものActivemq:Queueで、もう 1 つはメッセージを消費するためのものです。Activemq:QueueApache 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

  1. これを行う正しい方法はありますか。

  2. それが正しい方法であれば、どうすればこれを行うことができますか。

誰でも私に提案できますか。

ありがとう。

4

1 に答える 1