私はjmsとactivemqが初めてです。ActiveMQ の 1 つの静的キューに 1 つのメッセージを生成し、getJMSReplyTo を使用して一時キューに返信を取得します。コードは次のとおりです
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");
// Create a Connection
Connection connection = connectionFactory.createConnection();
connection.start();
// Create a Session
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
// Create the destination (Topic or Queue)
Destination destination = (Destination) session.createQueue("PostWithParameter_Queue");
// Create a MessageConsumer from the Session to the Topic or Queue
MessageConsumer consumer = session.createConsumer(destination);
//consumer.setMessageListener(new StaticQueueListener());
// Wait for a message
Message message = (Message) consumer.receive();
MessageConsumer consumer1 = session.createConsumer(message.getJMSReplyTo());
consumer1.setMessageListener(new ReplyHandler());
consumer.close();
session.close();
私の返信ハンドラは次のとおりです
@Override
public void onMessage(Message message) {
try
{
System.out.println(message.getStringProperty("status"));
}
catch (JMSException e)
{
e.printStackTrace();
}
}
今、一時キューから結果を取得しています。同じセッションだからです。私の質問は、一時キュー名を使用して異なるセッションの一時キューからメッセージを取得したいということです。一時キュー名を使用して別のクライアントの一時キューからメッセージを取得したい場合、どうすればよいですか? .