public class QueueRequestor
extends java.lang.Object
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.
TopicRequestor
Constructor and Description |
---|
QueueRequestor(QueueSession session,
Queue queue)
Constructor for the
QueueRequestor class. |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the
QueueRequestor and its session. |
Message |
request(Message message)
Sends a request and waits for a reply.
|
public QueueRequestor(QueueSession session, Queue queue) throws JMSException
QueueRequestor
class.
This implementation assumes the session parameter to be non-transacted, with a delivery mode of either
AUTO_ACKNOWLEDGE
or DUPS_OK_ACKNOWLEDGE
.
session
- the QueueSession
the queue belongs toqueue
- the queue to perform the request/reply call onJMSException
- if the JMS provider fails to create the QueueRequestor
due to some internal error.InvalidDestinationException
- if an invalid queue is specified.public Message request(Message message) throws JMSException
JMSReplyTo
destination, and only
one reply per request is expected.message
- the message to sendJMSException
- if the JMS provider fails to complete the request due to some internal error.public void close() throws JMSException
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.
JMSException
- if the JMS provider fails to close the QueueRequestor
due to some internal error.