com.j_spaces.jms
Class GSTopicSessionImpl
java.lang.Object
com.j_spaces.jms.GSSessionImpl
com.j_spaces.jms.GSTopicSessionImpl
- All Implemented Interfaces:
- Runnable, QueueSession, Session, TopicSession
public class GSTopicSessionImpl
- extends GSSessionImpl
GigaSpaces implementation of the javax.jms.TopicSession
interface.
A TopicSession object provides methods for creating
TopicPublisher,TopicSubscriber( and
TemporaryTopic) objects. It also provides a method for deleting its
client's durable subscribers.
A TopicSession is used for creating Pub/Sub specific objects.
In general, use the Session object, and use
TopicSession only to support existing code. Using the Session
object simplifies the programming model, and allows transactions to
be used across the two messaging domains.
A TopicSession cannot be used to create objects specific to
the point-to-point domain. The following methods inherit from Session
, but must throw an IllegalStateException if used from
TopicSession:
createBrowser
createQueue
createTemporaryQueue
|
Constructor Summary |
GSTopicSessionImpl(com.j_spaces.jms.GSConnectionImpl connection,
boolean transacted,
int acknowledgeMode)
Constructs a topic session. |
| Methods inherited from class com.j_spaces.jms.GSSessionImpl |
close, commit, createBytesMessage, createBytesMessage, createConsumer, createConsumer, createConsumer, createDurableSubscriber, createDurableSubscriber, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createProducer, createPublisher, createReceiver, createReceiver, createSender, createStreamMessage, createSubscriber, createSubscriber, createTemporaryTopic, createTextMessage, createTextMessage, createTopic, getAcknowledgeMode, getConsumersC, getJMSProviderName, getMessageListener, getMessagesC, getNumOfConsumedMsg, getNumOfProducedMsg, getProducersC, getSessionID, getTransacted, recover, rollback, run, setConsumersC, setMessageListener, setMessagesC, setProducersC, setSessionID, toString, unsubscribe |
GSTopicSessionImpl
public GSTopicSessionImpl(com.j_spaces.jms.GSConnectionImpl connection,
boolean transacted,
int acknowledgeMode)
throws JMSException
- Constructs a topic session.
- Parameters:
connection - The connection the session belongs to.transacted - true for a transacted session.acknowledgeMode - 1 (auto), 2 (client) or 3 (dups ok).transaction -
- Throws:
JMSException - In case of an invalid acknowledge mode.
createQueue
public Queue createQueue(String arg0)
throws JMSException
- Specified by:
createQueue in interface QueueSession- Specified by:
createQueue in interface Session- Overrides:
createQueue in class GSSessionImpl
- Throws:
JMSException- See Also:
Session.createQueue(java.lang.String)
createBrowser
public QueueBrowser createBrowser(Queue arg0)
throws JMSException
- Specified by:
createBrowser in interface QueueSession- Specified by:
createBrowser in interface Session- Overrides:
createBrowser in class GSSessionImpl
- Throws:
JMSException- See Also:
Session.createBrowser(javax.jms.Queue)
createBrowser
public QueueBrowser createBrowser(Queue arg0,
String arg1)
throws JMSException
- Specified by:
createBrowser in interface QueueSession- Specified by:
createBrowser in interface Session- Overrides:
createBrowser in class GSSessionImpl
- Throws:
JMSException- See Also:
Session.createBrowser(javax.jms.Queue, java.lang.String)
createTemporaryQueue
public TemporaryQueue createTemporaryQueue()
throws JMSException
- Description copied from class:
GSSessionImpl
- We use the same space proxy we obtained in the session and we write another External
Entry, which will have a class name of 'TempQueue'.
The only message consumers that can consume from a temporary destination
are those created by the same connection that created the destination. Any
message producer can send to the temporary destination. If you close the connection
that a temporary destination belongs to, the destination is closed and its contents
lost.
You can use temporary destinations to implement a simple request/reply
mechanism. If you create a temporary destination and specify it as the value of the
JMSReplyTo message header field when you send a message, the consumer of the
message can use the value of the JMSReplyTo field as the destination to which it
sends a reply and can also reference the original request by setting the
JMSCorrelationID header field of the reply message to the value of the
JMSMessageID header field of the request.
- Specified by:
createTemporaryQueue in interface QueueSession- Specified by:
createTemporaryQueue in interface Session- Overrides:
createTemporaryQueue in class GSSessionImpl
- Throws:
JMSException- See Also:
Session.createTemporaryQueue()