Class AbstractSession
- java.lang.Object
-
- net.timewalker.ffmq4.common.session.AbstractSession
-
- All Implemented Interfaces:
Runnable,javax.jms.Session
- Direct Known Subclasses:
LocalSession,RemoteSession
public abstract class AbstractSession extends Object implements javax.jms.Session
Base implementation for a JMS
Session
-
-
Field Summary
Fields Modifier and Type Field Description protected intacknowledgeModeprotected booleanclosedprotected AbstractConnectionconnectionprotected Map<IntegerID,AbstractMessageConsumer>consumersMapObjectdeliveryLockprotected ReadWriteLockexternalAccessLockprotected IntegerIDidprotected IntegerIDProvideridProviderprotected booleantransacted
-
Constructor Summary
Constructors Constructor Description AbstractSession(AbstractConnection connection, boolean transacted, int acknowledgeMode)ConstructorAbstractSession(IntegerID id, AbstractConnection connection, boolean transacted, int acknowledgeMode)Constructor
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidacknowledge()Acknowledge the given messageprotected voidcheckNotClosed()Check that the session is not closedvoidcheckTemporaryDestinationScope(javax.jms.Destination destination)Check temporary destinations scope (JMS Spec 4.4.3 p2)voidclose()javax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queue)javax.jms.BytesMessagecreateBytesMessage()javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector)javax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String name)javax.jms.MapMessagecreateMapMessage()javax.jms.MessagecreateMessage()javax.jms.ObjectMessagecreateObjectMessage()javax.jms.ObjectMessagecreateObjectMessage(Serializable object)javax.jms.QueuecreateQueue(String queueName)javax.jms.StreamMessagecreateStreamMessage()javax.jms.TextMessagecreateTextMessage()javax.jms.TextMessagecreateTextMessage(String text)javax.jms.TopiccreateTopic(String topicName)intgetAcknowledgeMode()AbstractConnectiongetConnection()intgetConsumersCount()Get the number of active producers for this sessionvoidgetEntitiesDescription(StringBuilder sb)Get a description of entities held by this objectIntegerIDgetId()Get the session idjavax.jms.MessageListenergetMessageListener()intgetProducersCount()Get the number of active producers for this sessionbooleangetTransacted()AbstractQueueBrowserlookupRegisteredBrowser(IntegerID browserId)Lookup a registered browserAbstractMessageConsumerlookupRegisteredConsumer(IntegerID consumerId)Lookup a registered consumerprotected voidonSessionClose()protected voidonSessionClosed()protected voidregisterBrowser(AbstractQueueBrowser browser)Register a browserprotected voidregisterConsumer(AbstractMessageConsumer consumer)Register a consumerprotected voidregisterProducer(AbstractMessageProducer producer)Register a producervoidrun()voidsetMessageListener(javax.jms.MessageListener listener)StringtoString()protected voidunregisterBrowser(AbstractQueueBrowser browserToRemove)Unregister a browserprotected voidunregisterConsumer(AbstractMessageConsumer consumerToRemove)Unregister a consumerprotected voidunregisterProducer(AbstractMessageProducer producerToRemove)Unregister a producervoidwaitForDeliverySync()voidwakeUpConsumers()Wake up all children consumers
-
-
-
Field Detail
-
connection
protected AbstractConnection connection
-
id
protected IntegerID id
-
transacted
protected boolean transacted
-
acknowledgeMode
protected int acknowledgeMode
-
closed
protected boolean closed
-
deliveryLock
public Object deliveryLock
-
consumersMap
protected Map<IntegerID,AbstractMessageConsumer> consumersMap
-
idProvider
protected IntegerIDProvider idProvider
-
externalAccessLock
protected ReadWriteLock externalAccessLock
-
-
Constructor Detail
-
AbstractSession
public AbstractSession(AbstractConnection connection, boolean transacted, int acknowledgeMode)
Constructor
-
AbstractSession
public AbstractSession(IntegerID id, AbstractConnection connection, boolean transacted, int acknowledgeMode)
Constructor
-
-
Method Detail
-
getId
public final IntegerID getId()
Get the session id- Returns:
- the id
-
checkNotClosed
protected final void checkNotClosed() throws javax.jms.JMSExceptionCheck that the session is not closed- Throws:
javax.jms.JMSException
-
close
public final void close() throws javax.jms.JMSException- Specified by:
closein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
onSessionClose
protected void onSessionClose()
-
onSessionClosed
protected void onSessionClosed()
-
checkTemporaryDestinationScope
public final void checkTemporaryDestinationScope(javax.jms.Destination destination) throws javax.jms.JMSExceptionCheck temporary destinations scope (JMS Spec 4.4.3 p2)- Parameters:
destination- destination to check- Throws:
javax.jms.JMSException
-
wakeUpConsumers
public final void wakeUpConsumers() throws javax.jms.JMSExceptionWake up all children consumers- Throws:
javax.jms.JMSException
-
lookupRegisteredConsumer
public final AbstractMessageConsumer lookupRegisteredConsumer(IntegerID consumerId)
Lookup a registered consumer
-
lookupRegisteredBrowser
public final AbstractQueueBrowser lookupRegisteredBrowser(IntegerID browserId)
Lookup a registered browser
-
registerConsumer
protected final void registerConsumer(AbstractMessageConsumer consumer)
Register a consumer
-
registerProducer
protected final void registerProducer(AbstractMessageProducer producer)
Register a producer
-
registerBrowser
protected final void registerBrowser(AbstractQueueBrowser browser)
Register a browser
-
unregisterConsumer
protected final void unregisterConsumer(AbstractMessageConsumer consumerToRemove)
Unregister a consumer
-
unregisterProducer
protected final void unregisterProducer(AbstractMessageProducer producerToRemove)
Unregister a producer
-
unregisterBrowser
protected final void unregisterBrowser(AbstractQueueBrowser browserToRemove)
Unregister a browser
-
acknowledge
public abstract void acknowledge() throws javax.jms.JMSExceptionAcknowledge the given message- Throws:
javax.jms.JMSException
-
createMessage
public final javax.jms.Message createMessage() throws javax.jms.JMSException- Specified by:
createMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createBytesMessage
public final javax.jms.BytesMessage createBytesMessage() throws javax.jms.JMSException- Specified by:
createBytesMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createMapMessage
public final javax.jms.MapMessage createMapMessage() throws javax.jms.JMSException- Specified by:
createMapMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public final javax.jms.ObjectMessage createObjectMessage() throws javax.jms.JMSException- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createStreamMessage
public final javax.jms.StreamMessage createStreamMessage() throws javax.jms.JMSException- Specified by:
createStreamMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public final javax.jms.TextMessage createTextMessage() throws javax.jms.JMSException- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createQueue
public javax.jms.Queue createQueue(String queueName) throws javax.jms.JMSException
- Specified by:
createQueuein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getAcknowledgeMode
public final int getAcknowledgeMode() throws javax.jms.JMSException- Specified by:
getAcknowledgeModein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getTransacted
public final boolean getTransacted() throws javax.jms.JMSException- Specified by:
getTransactedin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public final javax.jms.ObjectMessage createObjectMessage(Serializable object) throws javax.jms.JMSException
- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public final javax.jms.TextMessage createTextMessage(String text) throws javax.jms.JMSException
- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getMessageListener
public final javax.jms.MessageListener getMessageListener() throws javax.jms.JMSException- Specified by:
getMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
setMessageListener
public final void setMessageListener(javax.jms.MessageListener listener) throws javax.jms.JMSException- Specified by:
setMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTopic
public javax.jms.Topic createTopic(String topicName) throws javax.jms.JMSException
- Specified by:
createTopicin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createConsumer
public final javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createConsumer
public final javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createBrowserin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
run
public final void run()
-
getConnection
public final AbstractConnection getConnection()
- Returns:
- the connection
-
getConsumersCount
public final int getConsumersCount()
Get the number of active producers for this session- Returns:
- the number of active producers for this session
-
getProducersCount
public final int getProducersCount()
Get the number of active producers for this session- Returns:
- the number of active producers for this session
-
getEntitiesDescription
public final void getEntitiesDescription(StringBuilder sb)
Get a description of entities held by this object
-
waitForDeliverySync
public final void waitForDeliverySync()
-
-