Package org.messaginghub.pooled.jms
Class JmsPoolSession
java.lang.Object
org.messaginghub.pooled.jms.JmsPoolSession
- All Implemented Interfaces:
jakarta.jms.QueueSession
,jakarta.jms.Session
,jakarta.jms.TopicSession
,jakarta.jms.XASession
,AutoCloseable
,Runnable
public class JmsPoolSession
extends Object
implements jakarta.jms.Session, jakarta.jms.TopicSession, jakarta.jms.QueueSession, jakarta.jms.XASession, AutoCloseable
-
Field Summary
Fields inherited from interface jakarta.jms.Session
AUTO_ACKNOWLEDGE, CLIENT_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE, SESSION_TRANSACTED
-
Constructor Summary
ConstructorDescriptionJmsPoolSession
(PooledSessionKey key, PooledSessionHolder sessionHolder, org.apache.commons.pool2.KeyedObjectPool<PooledSessionKey, PooledSessionHolder> sessionPool, boolean transactional) -
Method Summary
Modifier and TypeMethodDescriptionvoid
protected void
checkClientJMSVersionSupport
(int major, int minor) void
close()
void
commit()
jakarta.jms.QueueBrowser
createBrowser
(jakarta.jms.Queue queue) jakarta.jms.QueueBrowser
createBrowser
(jakarta.jms.Queue queue, String selector) jakarta.jms.BytesMessage
jakarta.jms.MessageConsumer
createConsumer
(jakarta.jms.Destination destination) jakarta.jms.MessageConsumer
createConsumer
(jakarta.jms.Destination destination, String selector) jakarta.jms.MessageConsumer
createConsumer
(jakarta.jms.Destination destination, String selector, boolean noLocal) jakarta.jms.MessageConsumer
createDurableConsumer
(jakarta.jms.Topic topic, String name) jakarta.jms.MessageConsumer
createDurableConsumer
(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) jakarta.jms.TopicSubscriber
createDurableSubscriber
(jakarta.jms.Topic topic, String selector) jakarta.jms.TopicSubscriber
createDurableSubscriber
(jakarta.jms.Topic topic, String name, String selector, boolean noLocal) jakarta.jms.MapMessage
jakarta.jms.Message
jakarta.jms.ObjectMessage
jakarta.jms.ObjectMessage
createObjectMessage
(Serializable serializable) jakarta.jms.MessageProducer
createProducer
(jakarta.jms.Destination destination) jakarta.jms.TopicPublisher
createPublisher
(jakarta.jms.Topic topic) jakarta.jms.Queue
jakarta.jms.QueueReceiver
createReceiver
(jakarta.jms.Queue queue) jakarta.jms.QueueReceiver
createReceiver
(jakarta.jms.Queue queue, String selector) jakarta.jms.QueueSender
createSender
(jakarta.jms.Queue queue) jakarta.jms.MessageConsumer
createSharedConsumer
(jakarta.jms.Topic topic, String sharedSubscriptionName) jakarta.jms.MessageConsumer
createSharedConsumer
(jakarta.jms.Topic topic, String sharedSubscriptionName, String messageSelector) jakarta.jms.MessageConsumer
createSharedDurableConsumer
(jakarta.jms.Topic topic, String name) jakarta.jms.MessageConsumer
createSharedDurableConsumer
(jakarta.jms.Topic topic, String name, String messageSelector) jakarta.jms.StreamMessage
jakarta.jms.TopicSubscriber
createSubscriber
(jakarta.jms.Topic topic) jakarta.jms.TopicSubscriber
createSubscriber
(jakarta.jms.Topic topic, String selector, boolean local) jakarta.jms.TemporaryQueue
jakarta.jms.TemporaryTopic
jakarta.jms.TextMessage
jakarta.jms.TextMessage
jakarta.jms.Topic
int
jakarta.jms.Session
jakarta.jms.MessageListener
jakarta.jms.Session
boolean
boolean
protected boolean
isJMSVersionSupported
(int major, int minor) protected void
onConsumerClose
(JmsPoolMessageConsumer consumer) Callback invoked when the consumer is closed.protected void
onMessageProducerClosed
(JmsPoolMessageProducer producer, boolean force) Callback invoked when the producer is closed.protected void
onQueueBrowserClose
(JmsPoolQueueBrowser browser) Callback invoked when the consumer is closed.void
recover()
void
rollback()
void
run()
void
setIgnoreClose
(boolean ignoreClose) void
setIsXa
(boolean isXa) void
setMessageListener
(jakarta.jms.MessageListener messageListener) toString()
void
-
Constructor Details
-
JmsPoolSession
public JmsPoolSession(PooledSessionKey key, PooledSessionHolder sessionHolder, org.apache.commons.pool2.KeyedObjectPool<PooledSessionKey, PooledSessionHolder> sessionPool, boolean transactional)
-
-
Method Details
-
close
public void close() throws jakarta.jms.JMSException- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createTemporaryQueue
public jakarta.jms.TemporaryQueue createTemporaryQueue() throws jakarta.jms.JMSException- Specified by:
createTemporaryQueue
in interfacejakarta.jms.QueueSession
- Specified by:
createTemporaryQueue
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createTemporaryTopic
public jakarta.jms.TemporaryTopic createTemporaryTopic() throws jakarta.jms.JMSException- Specified by:
createTemporaryTopic
in interfacejakarta.jms.Session
- Specified by:
createTemporaryTopic
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createQueue
- Specified by:
createQueue
in interfacejakarta.jms.QueueSession
- Specified by:
createQueue
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createTopic
- Specified by:
createTopic
in interfacejakarta.jms.Session
- Specified by:
createTopic
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createBytesMessage
public jakarta.jms.BytesMessage createBytesMessage() throws jakarta.jms.JMSException- Specified by:
createBytesMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createMapMessage
public jakarta.jms.MapMessage createMapMessage() throws jakarta.jms.JMSException- Specified by:
createMapMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createMessage
public jakarta.jms.Message createMessage() throws jakarta.jms.JMSException- Specified by:
createMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage() throws jakarta.jms.JMSException- Specified by:
createObjectMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage(Serializable serializable) throws jakarta.jms.JMSException - Specified by:
createObjectMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createStreamMessage
public jakarta.jms.StreamMessage createStreamMessage() throws jakarta.jms.JMSException- Specified by:
createStreamMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createTextMessage
public jakarta.jms.TextMessage createTextMessage() throws jakarta.jms.JMSException- Specified by:
createTextMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createTextMessage
- Specified by:
createTextMessage
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
unsubscribe
- Specified by:
unsubscribe
in interfacejakarta.jms.Session
- Specified by:
unsubscribe
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
getAcknowledgeMode
public int getAcknowledgeMode() throws jakarta.jms.JMSException- Specified by:
getAcknowledgeMode
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
getTransacted
public boolean getTransacted() throws jakarta.jms.JMSException- Specified by:
getTransacted
in interfacejakarta.jms.Session
- Specified by:
getTransacted
in interfacejakarta.jms.XASession
- Throws:
jakarta.jms.JMSException
-
recover
public void recover() throws jakarta.jms.JMSException- Specified by:
recover
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
commit
public void commit() throws jakarta.jms.JMSException- Specified by:
commit
in interfacejakarta.jms.Session
- Specified by:
commit
in interfacejakarta.jms.XASession
- Throws:
jakarta.jms.JMSException
-
rollback
public void rollback() throws jakarta.jms.JMSException- Specified by:
rollback
in interfacejakarta.jms.Session
- Specified by:
rollback
in interfacejakarta.jms.XASession
- Throws:
jakarta.jms.JMSException
-
getXAResource
- Specified by:
getXAResource
in interfacejakarta.jms.XASession
-
getSession
public jakarta.jms.Session getSession()- Specified by:
getSession
in interfacejakarta.jms.XASession
-
getMessageListener
public jakarta.jms.MessageListener getMessageListener() throws jakarta.jms.JMSException- Specified by:
getMessageListener
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
setMessageListener
public void setMessageListener(jakarta.jms.MessageListener messageListener) throws jakarta.jms.JMSException - Specified by:
setMessageListener
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
run
public void run() -
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue queue) throws jakarta.jms.JMSException - Specified by:
createBrowser
in interfacejakarta.jms.QueueSession
- Specified by:
createBrowser
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue queue, String selector) throws jakarta.jms.JMSException - Specified by:
createBrowser
in interfacejakarta.jms.QueueSession
- Specified by:
createBrowser
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException - Specified by:
createConsumer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String selector) throws jakarta.jms.JMSException - Specified by:
createConsumer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String selector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createConsumer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String selector) throws jakarta.jms.JMSException - Specified by:
createDurableSubscriber
in interfacejakarta.jms.Session
- Specified by:
createDurableSubscriber
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String name, String selector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createDurableSubscriber
in interfacejakarta.jms.Session
- Specified by:
createDurableSubscriber
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic) throws jakarta.jms.JMSException - Specified by:
createSubscriber
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic, String selector, boolean local) throws jakarta.jms.JMSException - Specified by:
createSubscriber
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue) throws jakarta.jms.JMSException - Specified by:
createReceiver
in interfacejakarta.jms.QueueSession
- Throws:
jakarta.jms.JMSException
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue, String selector) throws jakarta.jms.JMSException - Specified by:
createReceiver
in interfacejakarta.jms.QueueSession
- Throws:
jakarta.jms.JMSException
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException - Specified by:
createDurableConsumer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException - Specified by:
createDurableConsumer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createProducer
public jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException - Specified by:
createProducer
in interfacejakarta.jms.Session
- Throws:
jakarta.jms.JMSException
-
createSender
public jakarta.jms.QueueSender createSender(jakarta.jms.Queue queue) throws jakarta.jms.JMSException - Specified by:
createSender
in interfacejakarta.jms.QueueSession
- Throws:
jakarta.jms.JMSException
-
createPublisher
public jakarta.jms.TopicPublisher createPublisher(jakarta.jms.Topic topic) throws jakarta.jms.JMSException - Specified by:
createPublisher
in interfacejakarta.jms.TopicSession
- Throws:
jakarta.jms.JMSException
-
addSessionEventListener
public void addSessionEventListener(JmsPoolSessionEventListener listener) throws jakarta.jms.JMSException - Throws:
jakarta.jms.JMSException
-
getInternalSession
public jakarta.jms.Session getInternalSession() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
setIsXa
public void setIsXa(boolean isXa) -
isIgnoreClose
public boolean isIgnoreClose() -
setIgnoreClose
public void setIgnoreClose(boolean ignoreClose) -
toString
-
onConsumerClose
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
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 jakarta.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:
jakarta.jms.JMSException
- if an error occurs while closing the provider MessageProducer.
-
checkClientJMSVersionSupport
protected void checkClientJMSVersionSupport(int major, int minor) throws jakarta.jms.JMSException - Throws:
jakarta.jms.JMSException
-
isJMSVersionSupported
protected boolean isJMSVersionSupported(int major, int minor) throws jakarta.jms.JMSException - Throws:
jakarta.jms.JMSException
-