我是 jms 和 activemq 的新手。我向 activemq 中的一个静态队列生成一条消息,并使用 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();
}
}
现在我从临时队列中得到结果。因为它在同一个会话中。我的问题是我想使用临时队列名称从不同会话中的临时队列中获取消息。如果我想使用临时队列名称从不同客户端的临时队列中获取消息,我将如何做到这一点?.