javax.jms
Class QueueRequestor

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

public class QueueRequestor
extends java.lang.Object

JMS provides a QueueRequestor helper class to simplify 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.

See Also:
TopicRequestor

Constructor Summary
QueueRequestor(QueueSession session, Queue queue)
          Constructor for the QueueRequestor class.
 
Method Summary
 void close()
          Since a provider may allocate some resources on behalf of a QueueRequestor 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

QueueRequestor

public QueueRequestor(QueueSession session,
                      Queue queue)
               throws JMSException
Constructor for the QueueRequestor class.

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

Parameters:
session - the queue session the queue belongs to.
queue - the queue 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 queue is used for replyTo, and only one reply per request is expected.
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 QueueRequestor 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 QueueRequestor constructor.

Throws:
JMSException - if a JMS error occurs.