是否应该设置JMSCorrId的设置规范。我的应用程序只是向队列发送异步消息,它不关心等待任何确认。
答案 0 :(得分:0)
当JMS客户端收到回复消息时,它可以将新消息的JMSCorrelationID与其发送的消息的相应JMSMessageID进行匹配,以便它知道哪个消息收到了回复。
JMSCorrelationID可以是任何值,而不仅仅是JMSMessageID。
例如,您可以使用JMSCorrelationID来识别发件人。
如果您决定使用自己的ID,请注意不要使用ID:启动特定于应用程序的JMSCorrelationID。该前缀保留给JMS提供者生成的ID。
通常实施:
public void onMessage(Message message){
try {
TextMessage textMessage = (TextMessage)message;
Queue replyQueue = (Queue)textMessage.getJMSReplyTo();
Message replyMessage = session.createMessage();
replyMessage.setJMSCorrelationID(message.getJMSMessageID());
sender.send(replyQueue, replyMessage);
} catch (JMSException jmse){jmse.printStackTrace();}
}