javax.jms
Class TopicRequestor

java.lang.Object
  |
  +--javax.jms.TopicRequestor

public class TopicRequestor
extends java.lang.Object

JMS provides a TopicRequestor helper class to simplify making service requests.

The TopicRequestor constructor is given a non-transacted TopicSession and a destination Topic. It creates a TemporaryTopic for the responses and provides a request() method that sends the request message and waits for its reply.

This is a basic request/reply abstraction that should be sufficient for most uses. JMS providers and clients are free to create more sophisticated versions

See Also:
QueueRequestor

Constructor Summary
TopicRequestor(TopicSession session, Topic topic)
          Constructor for the TopicRequestor class.
 
Method Summary
 void close()
          Since a provider may allocate some resources on behalf of a TopicRequestor outside the JVM, clients should close them when they are not needed.
 Message request(Message message)
          Send a request and wait for a reply.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TopicRequestor

public TopicRequestor(TopicSession session,
                      Topic topic)
               throws JMSException
Constructor for the TopicRequestor class.

This implementation assumes the session parameter to be non-transacted and either AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.

Parameters:
session - the topic session the topic belongs to.
topic - the topic to perform the request/reply call on.
Throws:
JMSException - if a JMS error occurs.
Method Detail

request

public Message request(Message message)
                throws JMSException
Send a request and wait for a reply. The temporary topic is used for replyTo; the first reply is returned and any following replies are discarded.
Parameters:
message - the message to send.
Returns:
the reply message.
Throws:
JMSException - if a JMS error occurs.

close

public void close()
           throws JMSException
Since a provider may allocate some resources on behalf of a TopicRequestor outside the JVM, clients should close them when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough.

Note that this method closes the Session object passed to the TopicRequestor constructor.

Throws:
JMSException - if a JMS error occurs.