Class LocalSession
- java.lang.Object
-
- net.timewalker.ffmq4.common.session.AbstractSession
-
- net.timewalker.ffmq4.local.session.LocalSession
-
- All Implemented Interfaces:
Runnable,javax.jms.Session
- Direct Known Subclasses:
LocalQueueSession,LocalTopicSession
public class LocalSession extends AbstractSession
Implementation of a local JMS
Session
-
-
Field Summary
Fields Modifier and Type Field Description protected FFMQEngineengineprotected NotificationProxynotificationProxy-
Fields inherited from class net.timewalker.ffmq4.common.session.AbstractSession
acknowledgeMode, closed, connection, consumersMap, deliveryLock, externalAccessLock, id, idProvider, transacted
-
-
Constructor Summary
Constructors Constructor Description LocalSession(IntegerID id, LocalConnection connection, FFMQEngine engine, boolean transacted, int acknowlegdeMode)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacknowledge()Acknowledge the given messagevoidacknowledge(List<String> deliveredMessageIDs)voidcommit()voidcommit(boolean commitGets, List<String> deliveredMessageIDs)Commit pending put/get operations in this sessionjavax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queueRef, String messageSelector)javax.jms.QueueBrowsercreateBrowser(IntegerID browserId, javax.jms.Queue queueRef, String messageSelector)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal)javax.jms.MessageConsumercreateConsumer(IntegerID consumerId, javax.jms.Destination destination, String messageSelector, boolean noLocal)Create a consumer with the given idjavax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String subscriptionName, String messageSelector, boolean noLocal)javax.jms.TopicSubscribercreateDurableSubscriber(IntegerID consumerId, javax.jms.Topic topic, String subscriptionName, String messageSelector, boolean noLocal)javax.jms.MessageProducercreateProducer(javax.jms.Destination destination)javax.jms.TemporaryQueuecreateTemporaryQueue()javax.jms.TemporaryTopiccreateTemporaryTopic()protected voiddeleteQueue(String queueName)Delete a queuevoiddispatch(AbstractMessage message)Called from producers when sending a messagelonggetConsumedCount()Get the number of messages actually consumed by this sessionNotificationProxygetNotificationProxy()longgetProducedCount()Get the number of messages actually produced by this sessionprotected TransactionSetgetTransactionSet()protected voidonSessionClose()voidrecover()voidrecover(List<String> deliveredMessageIDs)voidrollback()voidrollback(boolean rollbackGets, List<String> deliveredMessageIDs)Rollback pending put/get operations in this sessionvoidrollbackUndelivered(List<String> undeliveredMessageIDs)Rollback undelivered get operations in this sessionvoidsetNotificationProxy(NotificationProxy notificationProxy)StringtoString()voidunsubscribe(String subscriptionName)-
Methods inherited from class net.timewalker.ffmq4.common.session.AbstractSession
checkNotClosed, checkTemporaryDestinationScope, close, createBrowser, createBytesMessage, createConsumer, createConsumer, createDurableSubscriber, createMapMessage, createMessage, createObjectMessage, createObjectMessage, createQueue, createStreamMessage, createTextMessage, createTextMessage, createTopic, getAcknowledgeMode, getConnection, getConsumersCount, getEntitiesDescription, getId, getMessageListener, getProducersCount, getTransacted, lookupRegisteredBrowser, lookupRegisteredConsumer, onSessionClosed, registerBrowser, registerConsumer, registerProducer, run, setMessageListener, unregisterBrowser, unregisterConsumer, unregisterProducer, waitForDeliverySync, wakeUpConsumers
-
-
-
-
Field Detail
-
engine
protected FFMQEngine engine
-
notificationProxy
protected NotificationProxy notificationProxy
-
-
Constructor Detail
-
LocalSession
public LocalSession(IntegerID id, LocalConnection connection, FFMQEngine engine, boolean transacted, int acknowlegdeMode)
Constructor
-
-
Method Detail
-
setNotificationProxy
public final void setNotificationProxy(NotificationProxy notificationProxy)
- Parameters:
notificationProxy- the notificationProxy to set
-
getNotificationProxy
public final NotificationProxy getNotificationProxy()
- Returns:
- the notificationProxy
-
dispatch
public final void dispatch(AbstractMessage message) throws javax.jms.JMSException
Called from producers when sending a message- Parameters:
message- message to dispatch- Throws:
javax.jms.JMSException
-
commit
public final void commit() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
commit
public final void commit(boolean commitGets, List<String> deliveredMessageIDs) throws javax.jms.JMSExceptionCommit pending put/get operations in this session- Parameters:
commitGets-deliveredMessageIDs-- Throws:
javax.jms.JMSException
-
rollback
public final void rollback() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
rollback
public final void rollback(boolean rollbackGets, List<String> deliveredMessageIDs) throws javax.jms.JMSExceptionRollback pending put/get operations in this session- Parameters:
rollbackGets-deliveredMessageIDs-- Throws:
javax.jms.JMSException
-
rollbackUndelivered
public final void rollbackUndelivered(List<String> undeliveredMessageIDs) throws javax.jms.JMSException
Rollback undelivered get operations in this session- Parameters:
undeliveredMessageIDs-- Throws:
javax.jms.JMSException
-
getTransactionSet
protected final TransactionSet getTransactionSet()
- Returns:
- the transactionSet
-
onSessionClose
protected void onSessionClose()
- Overrides:
onSessionClosein classAbstractSession
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queueRef, String messageSelector) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
createBrowser
public javax.jms.QueueBrowser createBrowser(IntegerID browserId, javax.jms.Queue queueRef, String messageSelector) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(IntegerID consumerId, javax.jms.Destination destination, String messageSelector, boolean noLocal) throws javax.jms.JMSException
Create a consumer with the given id- Throws:
javax.jms.JMSException
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String subscriptionName, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(IntegerID consumerId, javax.jms.Topic topic, String subscriptionName, String messageSelector, boolean noLocal) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createProducer
public javax.jms.MessageProducer createProducer(javax.jms.Destination destination) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
recover
public final void recover() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
recover
public final void recover(List<String> deliveredMessageIDs) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException- See Also:
rollback(boolean, List)
-
unsubscribe
public void unsubscribe(String subscriptionName) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
createTemporaryQueue
public javax.jms.TemporaryQueue createTemporaryQueue() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
createTemporaryTopic
public javax.jms.TemporaryTopic createTemporaryTopic() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
acknowledge
public final void acknowledge() throws javax.jms.JMSExceptionDescription copied from class:AbstractSessionAcknowledge the given message- Specified by:
acknowledgein classAbstractSession- Throws:
javax.jms.JMSException
-
acknowledge
public final void acknowledge(List<String> deliveredMessageIDs) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException- See Also:
commit(boolean,List)
-
deleteQueue
protected final void deleteQueue(String queueName) throws javax.jms.JMSException
Delete a queue- Parameters:
queueName-- Throws:
javax.jms.JMSException
-
getProducedCount
public final long getProducedCount()
Get the number of messages actually produced by this session- Returns:
- the number of messages actually produced by this session
-
getConsumedCount
public final long getConsumedCount()
Get the number of messages actually consumed by this session- Returns:
- the number of messages actually consumed by this session
-
toString
public String toString()
- Overrides:
toStringin classAbstractSession
-
-