Novell exteNd Messaging Platform 5.2

com.sssw.jms.api
Class JMQTopicRequestor

java.lang.Object
  extended bycom.sssw.jms.api.JMQTopicRequestor

public class JMQTopicRequestor
extends Object

The JMQTopicRequestor helper class simplifies making service requests. It is based on the standard JMS TopicRequestor with an additional method for issuing a request with a timeout.

The TopicRequestor constructor is given a non-transacted TopicSession and a Topic. It creates a TemporaryTopic for the responses and provides two request methods that sends the request message and waits for its reply with an optional timeout.

Since:
jBroker MQ 2.0
See Also:
TopicRequestor

Constructor Summary
JMQTopicRequestor(TopicSession session, Topic topic)
          Constructor for the TopicRequestor class.
 
Method Summary
 void close()
          Closes the TopicRequestor and its session
 Message request(Message message)
          Sends a request and waits for a reply.
 Message request(Message message, long timeout)
          Sends a request and waits for a reply with timeout.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JMQTopicRequestor

public JMQTopicRequestor(TopicSession session,
                         Topic topic)
                  throws JMSException
Constructor for the TopicRequestor 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 TopicSession the topic belongs to
topic - the topic to perform the request/reply call on
Throws:
JMSException - if the JMS provider fails to create the TopicRequestor due to some internal error
InvalidDestinationException - if an invalid topic is specified
Method Detail

request

public Message request(Message message)
                throws JMSException
Sends a request and waits for a reply. The temporary topic is used for the JMSReplyTo destination; the first reply is returned, and any following replies are discarded.

Parameters:
message - the message to send
Returns:
the reply message
Throws:
JMSException - if the JMS provider fails to complete the request due to some internal error

request

public Message request(Message message,
                       long timeout)
                throws JMSException
Sends a request and waits for a reply with timeout. The temporary topic is used for the JMSReplyTo destination; the first reply is returned, and any following replies are discarded.

Parameters:
message - the message to send
timeout - the timeout in milliseconds
Returns:
the reply message
Throws:
JMSException - if the JMS provider fails to complete the request due to some internal error

close

public void close()
           throws JMSException
Closes the 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.

Throws:
JMSException - if the JMS provider fails to close the TopicRequestor due to some internal error

Novell exteNd Messaging Platform 5.2

exteNd is a registered trademark of Novell, Inc.
Copyright 1998-2004 Novell, Inc. All Rights Reserved.