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.