javax.jms
Class TopicRequestor

java.lang.Object
  extended by javax.jms.TopicRequestor

public class TopicRequestor
extends Object

The TopicRequestor helper class simplifies 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.

Version:
1.0 - 8 July 1998
Author:
Mark Hapner, Rich Burridge
See Also:
QueueRequestor

Constructor Summary
TopicRequestor(TopicSession session, Topic topic)
          Constructor for the TopicRequestor class.
 
Method Summary
 void close()
          Closes the TopicRequestor and its session.
 Message request(Message message)
          Sends a request and waits 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, with a delivery mode of either AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE.

Parameters:
session - the TopicSession the topic belongs to
topic - the topic to perform the request/reply call on
Throws:
JMSException - if the JMS provider fails to create the TopicRequestor due to some internal error.
InvalidDestinationException - if an invalid topic is specified.
Method Detail

request

public Message request(Message message)
                throws JMSException
Sends a request and waits for a reply. The temporary topic is used for the JMSReplyTo destination; the first reply is returned, and any following replies are discarded.

Parameters:
message - the message to send
Returns:
the reply message
Throws:
JMSException - if the JMS provider fails to complete the request due to some internal error.

close

public void close()
           throws JMSException
Closes the TopicRequestor and its session.

Since a provider may allocate some resources on behalf of a TopicRequestor outside the Java virtual machine, 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 TopicSession object passed to the TopicRequestor constructor.

Throws:
JMSException - if the JMS provider fails to close the TopicRequestor due to some internal error.


Submit a bug or feature

Copyright 2007 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms.