2013-02-14 102 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();} 
}