Name
JMSReplyTo — Purpose: Routing
Synopsis
In some cases, a
message producer may want the consumers to reply to
a
message. The JMSReplyTo
header indicates which address, if any, a JMS consumer should reply
to. The JMSReplyTo header is set explicitly by the
JMS client; its contents will be a
javax.jms.Destination object (either
Topic or Queue).
In some cases the JMS client will want the message consumers to reply
to a temporary topic or queue set up by the JMS client. Here is an
example of a pub/sub JMS client that creates a temporary topic and
uses its Topic object identifier as a
JMSReplyTo header:
TopicSession session = connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE); ...Topic tempTopic = session.createTemporaryTopic( );... TextMessage message = session.createTextMessage( ); message.setText(text);message.setJMSReplyTo(tempTopic);publisher.publish(message);
When a JMS message consumer receives a message that includes a
JMSReplyTo destination, it can reply using that
destination. A JMS consumer is not required to send a reply, but in
some JMS applications clients are programmed to do so. Here is an
example of a JMS consumer that uses the JMSReplyTo
header on a received message to send a reply. In this case, the reply
is a simple empty Message object:
Topic chatTopic = ... get topic from somewhere ... // Publisher is created without a specified Topic TopicPublisher publisher = session.createPublisher(null); ... public void onMessage(Message message){ try { TextMessage ...Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access