Package org.messaginghub.pooled.jms
Class JmsPoolSession
- java.lang.Object
-
- org.messaginghub.pooled.jms.JmsPoolSession
-
- All Implemented Interfaces:
AutoCloseable,Runnable,javax.jms.QueueSession,javax.jms.Session,javax.jms.TopicSession,javax.jms.XASession
public class JmsPoolSession extends Object implements javax.jms.Session, javax.jms.TopicSession, javax.jms.QueueSession, javax.jms.XASession, AutoCloseable
-
-
Constructor Summary
Constructors Constructor Description JmsPoolSession(PooledSessionKey key, PooledSessionHolder sessionHolder, org.apache.commons.pool2.KeyedObjectPool<PooledSessionKey,PooledSessionHolder> sessionPool, boolean transactional)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddSessionEventListener(JmsPoolSessionEventListener listener)protected voidcheckClientJMSVersionSupport(int major, int minor)voidclose()voidcommit()javax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queue)javax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queue, String selector)javax.jms.BytesMessagecreateBytesMessage()javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String selector)javax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String selector, boolean noLocal)javax.jms.MessageConsumercreateDurableConsumer(javax.jms.Topic topic, String name)javax.jms.MessageConsumercreateDurableConsumer(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal)javax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String selector)javax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String name, String selector, boolean noLocal)javax.jms.MapMessagecreateMapMessage()javax.jms.MessagecreateMessage()javax.jms.ObjectMessagecreateObjectMessage()javax.jms.ObjectMessagecreateObjectMessage(Serializable serializable)javax.jms.MessageProducercreateProducer(javax.jms.Destination destination)javax.jms.TopicPublishercreatePublisher(javax.jms.Topic topic)javax.jms.QueuecreateQueue(String s)javax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue)javax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue, String selector)javax.jms.QueueSendercreateSender(javax.jms.Queue queue)javax.jms.MessageConsumercreateSharedConsumer(javax.jms.Topic topic, String sharedSubscriptionName)javax.jms.MessageConsumercreateSharedConsumer(javax.jms.Topic topic, String sharedSubscriptionName, String messageSelector)javax.jms.MessageConsumercreateSharedDurableConsumer(javax.jms.Topic topic, String name)javax.jms.MessageConsumercreateSharedDurableConsumer(javax.jms.Topic topic, String name, String messageSelector)javax.jms.StreamMessagecreateStreamMessage()javax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic)javax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic, String selector, boolean local)javax.jms.TemporaryQueuecreateTemporaryQueue()javax.jms.TemporaryTopiccreateTemporaryTopic()javax.jms.TextMessagecreateTextMessage()javax.jms.TextMessagecreateTextMessage(String s)javax.jms.TopiccreateTopic(String s)intgetAcknowledgeMode()javax.jms.SessiongetInternalSession()javax.jms.MessageListenergetMessageListener()javax.jms.SessiongetSession()booleangetTransacted()XAResourcegetXAResource()booleanisIgnoreClose()protected booleanisJMSVersionSupported(int major, int minor)protected voidonConsumerClose(javax.jms.MessageConsumer consumer)Callback invoked when the consumer is closed.protected voidonMessageProducerClosed(JmsPoolMessageProducer producer, boolean force)Callback invoked when the producer is closed.protected voidonQueueBrowserClose(javax.jms.QueueBrowser browser)Callback invoked when the consumer is closed.voidrecover()voidrollback()voidrun()voidsetIgnoreClose(boolean ignoreClose)voidsetIsXa(boolean isXa)voidsetMessageListener(javax.jms.MessageListener messageListener)StringtoString()voidunsubscribe(String s)
-
-
-
Constructor Detail
-
JmsPoolSession
public JmsPoolSession(PooledSessionKey key, PooledSessionHolder sessionHolder, org.apache.commons.pool2.KeyedObjectPool<PooledSessionKey,PooledSessionHolder> sessionPool, boolean transactional)
-
-
Method Detail
-
close
public void close() throws javax.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTemporaryQueue
public javax.jms.TemporaryQueue createTemporaryQueue() throws javax.jms.JMSException- Specified by:
createTemporaryQueuein interfacejavax.jms.QueueSession- Specified by:
createTemporaryQueuein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTemporaryTopic
public javax.jms.TemporaryTopic createTemporaryTopic() throws javax.jms.JMSException- Specified by:
createTemporaryTopicin interfacejavax.jms.Session- Specified by:
createTemporaryTopicin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createQueue
public javax.jms.Queue createQueue(String s) throws javax.jms.JMSException
- Specified by:
createQueuein interfacejavax.jms.QueueSession- Specified by:
createQueuein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTopic
public javax.jms.Topic createTopic(String s) throws javax.jms.JMSException
- Specified by:
createTopicin interfacejavax.jms.Session- Specified by:
createTopicin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createBytesMessage
public javax.jms.BytesMessage createBytesMessage() throws javax.jms.JMSException- Specified by:
createBytesMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createMapMessage
public javax.jms.MapMessage createMapMessage() throws javax.jms.JMSException- Specified by:
createMapMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createMessage
public javax.jms.Message createMessage() throws javax.jms.JMSException- Specified by:
createMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage() throws javax.jms.JMSException- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage(Serializable serializable) throws javax.jms.JMSException
- Specified by:
createObjectMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createStreamMessage
public javax.jms.StreamMessage createStreamMessage() throws javax.jms.JMSException- Specified by:
createStreamMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public javax.jms.TextMessage createTextMessage() throws javax.jms.JMSException- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createTextMessage
public javax.jms.TextMessage createTextMessage(String s) throws javax.jms.JMSException
- Specified by:
createTextMessagein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
unsubscribe
public void unsubscribe(String s) throws javax.jms.JMSException
- Specified by:
unsubscribein interfacejavax.jms.Session- Specified by:
unsubscribein interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
getAcknowledgeMode
public int getAcknowledgeMode() throws javax.jms.JMSException- Specified by:
getAcknowledgeModein interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
getTransacted
public boolean getTransacted() throws javax.jms.JMSException- Specified by:
getTransactedin interfacejavax.jms.Session- Specified by:
getTransactedin interfacejavax.jms.XASession- Throws:
javax.jms.JMSException
-
recover
public void recover() throws javax.jms.JMSException- Specified by:
recoverin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
commit
public void commit() throws javax.jms.JMSException- Specified by:
commitin interfacejavax.jms.Session- Specified by:
commitin interfacejavax.jms.XASession- Throws:
javax.jms.JMSException
-
rollback
public void rollback() throws javax.jms.JMSException- Specified by:
rollbackin interfacejavax.jms.Session- Specified by:
rollbackin interfacejavax.jms.XASession- Throws:
javax.jms.JMSException
-
getXAResource
public XAResource getXAResource()
- Specified by:
getXAResourcein interfacejavax.jms.XASession
-
getSession
public javax.jms.Session getSession()
- Specified by:
getSessionin interfacejavax.jms.XASession
-
getMessageListener
public javax.jms.MessageListener getMessageListener() throws javax.jms.JMSException- Specified by:
getMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener messageListener) throws javax.jms.JMSException- Specified by:
setMessageListenerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
run
public void run()
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queue, String selector) throws javax.jms.JMSException- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String selector) throws javax.jms.JMSException- Specified by:
createConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String selector, boolean noLocal) 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 selector) throws javax.jms.JMSException- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name, String selector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic) throws javax.jms.JMSException- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic, String selector, boolean local) throws javax.jms.JMSException- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue, String selector) throws javax.jms.JMSException- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException
-
createSharedConsumer
public javax.jms.MessageConsumer createSharedConsumer(javax.jms.Topic topic, String sharedSubscriptionName) throws javax.jms.JMSException- Specified by:
createSharedConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createSharedConsumer
public javax.jms.MessageConsumer createSharedConsumer(javax.jms.Topic topic, String sharedSubscriptionName, String messageSelector) throws javax.jms.JMSException- Specified by:
createSharedConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createDurableConsumer
public javax.jms.MessageConsumer createDurableConsumer(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createDurableConsumer
public javax.jms.MessageConsumer createDurableConsumer(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws javax.jms.JMSException- Specified by:
createDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createSharedDurableConsumer
public javax.jms.MessageConsumer createSharedDurableConsumer(javax.jms.Topic topic, String name) throws javax.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createSharedDurableConsumer
public javax.jms.MessageConsumer createSharedDurableConsumer(javax.jms.Topic topic, String name, String messageSelector) throws javax.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createProducer
public javax.jms.MessageProducer createProducer(javax.jms.Destination destination) throws javax.jms.JMSException- Specified by:
createProducerin interfacejavax.jms.Session- Throws:
javax.jms.JMSException
-
createSender
public javax.jms.QueueSender createSender(javax.jms.Queue queue) throws javax.jms.JMSException- Specified by:
createSenderin interfacejavax.jms.QueueSession- Throws:
javax.jms.JMSException
-
createPublisher
public javax.jms.TopicPublisher createPublisher(javax.jms.Topic topic) throws javax.jms.JMSException- Specified by:
createPublisherin interfacejavax.jms.TopicSession- Throws:
javax.jms.JMSException
-
addSessionEventListener
public void addSessionEventListener(JmsPoolSessionEventListener listener) throws javax.jms.JMSException
- Throws:
javax.jms.JMSException
-
getInternalSession
public javax.jms.Session getInternalSession() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
setIsXa
public void setIsXa(boolean isXa)
-
isIgnoreClose
public boolean isIgnoreClose()
-
setIgnoreClose
public void setIgnoreClose(boolean ignoreClose)
-
onConsumerClose
protected void onConsumerClose(javax.jms.MessageConsumer consumer)
Callback invoked when the consumer is closed.This is used to keep track of an explicit closed consumer created by this session so that the internal tracking data structures can be cleaned up.
- Parameters:
consumer- the consumer which is being closed.
-
onQueueBrowserClose
protected void onQueueBrowserClose(javax.jms.QueueBrowser browser)
Callback invoked when the consumer is closed.This is used to keep track of an explicit closed browser created by this session so that the internal tracking data structures can be cleaned up.
- Parameters:
browser- the browser which is being closed.
-
onMessageProducerClosed
protected void onMessageProducerClosed(JmsPoolMessageProducer producer, boolean force) throws javax.jms.JMSException
Callback invoked when the producer is closed.This is used to keep track of an explicit closed producer created by this session so that the internal tracking data structures can be cleaned up.
- Parameters:
producer- the producer which is being closed.force- should the producer be closed regardless of other configuration- Throws:
javax.jms.JMSException- if an error occurs while closing the provider MessageProducer.
-
checkClientJMSVersionSupport
protected void checkClientJMSVersionSupport(int major, int minor) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
isJMSVersionSupported
protected boolean isJMSVersionSupported(int major, int minor) throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
-