2013-02-14 152 views

回答

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();} 
}