javax.jms
public class: QueueRequestor [javadoc |
source]
java.lang.Object
javax.jms.QueueRequestor
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 basic request/reply abstraction that should be sufficient
for most uses. JMS providers and clients are free to create more
sophisticated versions.
| Field Summary |
|---|
| QueueSession | session | |
| Queue | queue | |
| TemporaryQueue | tempQueue | |
| QueueSender | sender | |
| QueueReceiver | receiver | |
| Constructor: |
public QueueRequestor(QueueSession session,
Queue queue) throws JMSException {
this.session = session;
this.queue = queue;
tempQueue = session.createTemporaryQueue();
sender = session.createSender(queue);
receiver = session.createReceiver(tempQueue);
}
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.
- exception:
JMSException - if the JMS provider fails to create the
QueueRequestor due to some internal
error.
- exception:
InvalidDestinationException - if an invalid queue is specified.
|
| Method from javax.jms.QueueRequestor Summary: |
|---|
|
close, request |
| Method from javax.jms.QueueRequestor Detail: |
public void close() throws JMSException {
// publisher and consumer created by constructor are implicitly closed.
session.close();
tempQueue.delete();
}
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. |
public Message request(Message message) throws JMSException {
message.setJMSReplyTo(tempQueue);
sender.send(message);
return (receiver.receive());
}
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. |