Package jakarta.jms

Class 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
    Version:
    Jakarta Messaging 2.0
    See Also:
    TopicRequestor
    • 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 Jakarta Messaging 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 Jakarta Messaging 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 Jakarta Messaging provider fails to close the QueueRequestor due to some internal error.