Package javax.jms

Class QueueRequestor

java.lang.Object
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 very basic request/reply abstraction which assumes the session is non-transacted with a delivery mode of either AUTO_ACKNOWLEDGE or DUPS_OK_ACKNOWLEDGE. It is expected that most applications will create less basic implementations.

Since:
JMS 1.0
See Also:
  • Constructor Details

    • 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 Details

    • 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.