public class TopicRequestor
extends java.lang.Object
TopicRequestor
helper class simplifies
making service requests.
The TopicRequestor
constructor is given a non-transacted
TopicSession
and a destination Topic
. It creates a
TemporaryTopic
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.
QueueRequestor
Constructor and Description |
---|
TopicRequestor(TopicSession session,
Topic topic)
Constructor for the
TopicRequestor class. |
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the
TopicRequestor and its session. |
Message |
request(Message message)
Sends a request and waits for a reply.
|
public TopicRequestor(TopicSession session, Topic topic) throws JMSException
TopicRequestor
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 TopicSession
the topic belongs totopic
- the topic to perform the request/reply call onJMSException
- if the JMS provider fails to create the
TopicRequestor
due to some internal
error.InvalidDestinationException
- if an invalid topic is specified.public Message request(Message message) throws JMSException
JMSReplyTo
destination; the first reply is returned,
and any following replies are discarded.message
- the message to sendJMSException
- if the JMS provider fails to complete the
request due to some internal error.public void close() throws JMSException
TopicRequestor
and its session.
Since a provider may allocate some resources on behalf of a
TopicRequestor
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 TopicSession
object
passed to the TopicRequestor
constructor.
JMSException
- if the JMS provider fails to close the
TopicRequestor
due to some internal
error.