Class QueueRequestor
- java.lang.Object
-
- jakarta.jms.QueueRequestor
-
public class QueueRequestor extends Object
TheQueueRequestorhelper class simplifies making service requests.The
QueueRequestorconstructor is given a non-transactedQueueSessionand a destinationQueue. It creates aTemporaryQueuefor the responses and provides arequestmethod 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 Summary
Constructors Constructor Description QueueRequestor(QueueSession session, Queue queue)Constructor for theQueueRequestorclass.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes theQueueRequestorand its session.Messagerequest(Message message)Sends a request and waits for a reply.
-
-
-
Constructor Detail
-
QueueRequestor
public QueueRequestor(QueueSession session, Queue queue) throws JMSException
Constructor for theQueueRequestorclass.This implementation assumes the session parameter to be non-transacted, with a delivery mode of either
AUTO_ACKNOWLEDGEorDUPS_OK_ACKNOWLEDGE.- Parameters:
session- theQueueSessionthe queue belongs toqueue- the queue to perform the request/reply call on- Throws:
JMSException- if the Jakarta Messaging provider fails to create theQueueRequestordue 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 theJMSReplyTodestination, 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 JMSExceptionCloses theQueueRequestorand its session.Since a provider may allocate some resources on behalf of a
QueueRequestoroutside 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
QueueSessionobject passed to theQueueRequestorconstructor.- Throws:
JMSException- if the Jakarta Messaging provider fails to close theQueueRequestordue to some internal error.
-
-