Java EE 5 SDK

javax.jms
Class QueueRequestor

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

public class QueueRequestor
extends Object

The QueueRequestor helper class simplifies making service requests.

The QueueRequestor constructor is given a non-transacted QueueSession and a destination Queue. It creates a TemporaryQueue 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:
TopicRequestor

Constructor Summary
QueueRequestor(QueueSession session, Queue queue)
          Constructor for the QueueRequestor class.
 
Method Summary
 void close()
          Closes the QueueRequestor 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

QueueRequestor

public QueueRequestor(QueueSession session,
                      Queue queue)
               throws JMSException
Constructor for the QueueRequestor 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 QueueSession the queue belongs to
queue - the queue to perform the request/reply call on
Throws:
JMSException - if the JMS provider fails to create the QueueRequestor due to some internal error.
InvalidDestinationException - if an invalid queue is specified.
Method Detail

request

public Message request(Message message)
                throws JMSException
Sends a request and waits for a reply. The temporary queue is used for the JMSReplyTo destination, and only one reply per request is expected.

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 QueueRequestor and its session.

Since a provider may allocate some resources on behalf of a QueueRequestor 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 QueueSession object passed to the QueueRequestor constructor.

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

Java EE 5 SDK

Submit a bug or feature

Copyright 2006 Sun Microsystems, Inc. All rights reserved.