javax.jms
Class TopicRequestor

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

public class TopicRequestor
extends 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

Field Summary
(package private)  TopicPublisher publisher
           
(package private)  TopicSession session
           
(package private)  TopicSubscriber subscriber
           
(package private)  TemporaryTopic tempTopic
           
(package private)  Topic topic
           
 
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
 

Field Detail

session

TopicSession session

topic

Topic topic

tempTopic

TemporaryTopic tempTopic

publisher

TopicPublisher publisher

subscriber

TopicSubscriber subscriber
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.