Class ActiveMQSession
- java.lang.Object
-
- org.apache.activemq.artemis.jms.client.ActiveMQSession
-
- All Implemented Interfaces:
jakarta.jms.QueueSession,jakarta.jms.Session,jakarta.jms.TopicSession,AutoCloseable,Runnable
- Direct Known Subclasses:
ActiveMQXASession
public class ActiveMQSession extends Object implements jakarta.jms.QueueSession, jakarta.jms.TopicSession
ActiveMQ Artemis implementation of a JMS Session.
Note that we *do not* support JMS ASF (Application Server Facilities) optional constructs such as ConnectionConsumer
-
-
Field Summary
Fields Modifier and Type Field Description static intTYPE_GENERIC_SESSIONstatic intTYPE_QUEUE_SESSIONstatic intTYPE_TOPIC_SESSION
-
Constructor Summary
Constructors Modifier Constructor Description protectedActiveMQSession(ConnectionFactoryOptions options, ActiveMQConnection connection, boolean transacted, boolean xa, int ackMode, boolean cacheDestination, boolean enable1xPrefixes, ClientSession session, int sessionType)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidackAllConsumers()voidclose()voidcommit()jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue queue)jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue queue, String filterString)jakarta.jms.BytesMessagecreateBytesMessage()jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination)jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, String messageSelector)jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, String messageSelector, boolean noLocal)jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, String name)jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal)jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, String name)jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal)jakarta.jms.MapMessagecreateMapMessage()jakarta.jms.MessagecreateMessage()jakarta.jms.ObjectMessagecreateObjectMessage()jakarta.jms.ObjectMessagecreateObjectMessage(Serializable object)jakarta.jms.MessageProducercreateProducer(jakarta.jms.Destination destination)jakarta.jms.TopicPublishercreatePublisher(jakarta.jms.Topic topic)jakarta.jms.QueuecreateQueue(String queueName)jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue)jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue, String messageSelector)jakarta.jms.QueueSendercreateSender(jakarta.jms.Queue queue)jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, String sharedSubscriptionName)jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, String name, String messageSelector)Note: Needs to throw an exception if a subscriptionName is already in use by another topic, or if the messageSelector is different validate multiple subscriptions on the same session.jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, String name)jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector)jakarta.jms.StreamMessagecreateStreamMessage()jakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic)jakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic, String messageSelector, boolean noLocal)jakarta.jms.TemporaryQueuecreateTemporaryQueue()jakarta.jms.TemporaryTopiccreateTemporaryTopic()jakarta.jms.TextMessagecreateTextMessage()jakarta.jms.TextMessagecreateTextMessage(String text)jakarta.jms.TopiccreateTopic(String topicName)voiddeleteTemporaryQueue(ActiveMQDestination tempQueue)voiddeleteTemporaryTopic(ActiveMQDestination tempTopic)intgetAcknowledgeMode()ActiveMQConnectiongetConnection()ClientSessiongetCoreSession()StringgetDeserializationBlackList()StringgetDeserializationWhiteList()jakarta.jms.MessageListenergetMessageListener()jakarta.jms.QueueSessiongetQueueSession()jakarta.jms.SessiongetSession()jakarta.jms.TopicSessiongetTopicSession()booleangetTransacted()XAResourcegetXAResource()protected jakarta.jms.QueueinternalCreateQueue(String queueName)protected ActiveMQQueueinternalCreateQueueCompatibility(String queueName)protected jakarta.jms.TopicinternalCreateTopic(String topicName, boolean retry)booleanisEnable1xPrefixes()booleanisRecoverCalled()booleanisXA()voidrecover()voidremoveConsumer(ActiveMQMessageConsumer consumer)voidrollback()voidrun()voidsetMessageListener(jakarta.jms.MessageListener listener)voidsetRecoverCalled(boolean recoverCalled)voidstart()voidstop()StringtoString()voidunsubscribe(String name)
-
-
-
Field Detail
-
TYPE_GENERIC_SESSION
public static final int TYPE_GENERIC_SESSION
- See Also:
- Constant Field Values
-
TYPE_QUEUE_SESSION
public static final int TYPE_QUEUE_SESSION
- See Also:
- Constant Field Values
-
TYPE_TOPIC_SESSION
public static final int TYPE_TOPIC_SESSION
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ActiveMQSession
protected ActiveMQSession(ConnectionFactoryOptions options, ActiveMQConnection connection, boolean transacted, boolean xa, int ackMode, boolean cacheDestination, boolean enable1xPrefixes, ClientSession session, int sessionType)
-
-
Method Detail
-
createBytesMessage
public jakarta.jms.BytesMessage createBytesMessage() throws jakarta.jms.JMSException- Specified by:
createBytesMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createMapMessage
public jakarta.jms.MapMessage createMapMessage() throws jakarta.jms.JMSException- Specified by:
createMapMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createMessage
public jakarta.jms.Message createMessage() throws jakarta.jms.JMSException- Specified by:
createMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage() throws jakarta.jms.JMSException- Specified by:
createObjectMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createObjectMessage
public jakarta.jms.ObjectMessage createObjectMessage(Serializable object) throws jakarta.jms.JMSException
- Specified by:
createObjectMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createStreamMessage
public jakarta.jms.StreamMessage createStreamMessage() throws jakarta.jms.JMSException- Specified by:
createStreamMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTextMessage
public jakarta.jms.TextMessage createTextMessage() throws jakarta.jms.JMSException- Specified by:
createTextMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTextMessage
public jakarta.jms.TextMessage createTextMessage(String text) throws jakarta.jms.JMSException
- Specified by:
createTextMessagein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getTransacted
public boolean getTransacted() throws jakarta.jms.JMSException- Specified by:
getTransactedin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getAcknowledgeMode
public int getAcknowledgeMode() throws jakarta.jms.JMSException- Specified by:
getAcknowledgeModein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
isXA
public boolean isXA()
-
commit
public void commit() throws jakarta.jms.JMSException- Specified by:
commitin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
rollback
public void rollback() throws jakarta.jms.JMSException- Specified by:
rollbackin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
close
public void close() throws jakarta.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
recover
public void recover() throws jakarta.jms.JMSException- Specified by:
recoverin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getMessageListener
public jakarta.jms.MessageListener getMessageListener() throws jakarta.jms.JMSException- Specified by:
getMessageListenerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
setMessageListener
public void setMessageListener(jakarta.jms.MessageListener listener) throws jakarta.jms.JMSException- Specified by:
setMessageListenerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
run
public void run()
-
createProducer
public jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException- Specified by:
createProducerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination) throws jakarta.jms.JMSException- Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String messageSelector) throws jakarta.jms.JMSException- Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createQueue
public jakarta.jms.Queue createQueue(String queueName) throws jakarta.jms.JMSException
- Specified by:
createQueuein interfacejakarta.jms.QueueSession- Specified by:
createQueuein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
internalCreateQueue
protected jakarta.jms.Queue internalCreateQueue(String queueName) throws ActiveMQException, jakarta.jms.JMSException
- Throws:
ActiveMQExceptionjakarta.jms.JMSException
-
internalCreateQueueCompatibility
protected ActiveMQQueue internalCreateQueueCompatibility(String queueName) throws ActiveMQException, jakarta.jms.JMSException
- Throws:
ActiveMQExceptionjakarta.jms.JMSException
-
createTopic
public jakarta.jms.Topic createTopic(String topicName) throws jakarta.jms.JMSException
- Specified by:
createTopicin interfacejakarta.jms.Session- Specified by:
createTopicin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
internalCreateTopic
protected jakarta.jms.Topic internalCreateTopic(String topicName, boolean retry) throws ActiveMQException, jakarta.jms.JMSException
- Throws:
ActiveMQExceptionjakarta.jms.JMSException
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException- Specified by:
createDurableSubscriberin interfacejakarta.jms.Session- Specified by:
createDurableSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createDurableSubscriberin interfacejakarta.jms.Session- Specified by:
createDurableSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
createSharedConsumer
public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, String sharedSubscriptionName) throws jakarta.jms.JMSException- Specified by:
createSharedConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createSharedConsumer
public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, String name, String messageSelector) throws jakarta.jms.JMSExceptionNote: Needs to throw an exception if a subscriptionName is already in use by another topic, or if the messageSelector is different validate multiple subscriptions on the same session. validate multiple subscriptions on different sessions validate failure in one connection while another connection stills fine. Validate different filters in different possible scenarios- Specified by:
createSharedConsumerin interfacejakarta.jms.Session- Parameters:
topic-name-messageSelector-- Returns:
- Throws:
jakarta.jms.JMSException
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException- Specified by:
createDurableConsumerin 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:
createDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createSharedDurableConsumer
public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, String name) throws jakarta.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createSharedDurableConsumer
public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, String name, String messageSelector) throws jakarta.jms.JMSException- Specified by:
createSharedDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
getDeserializationBlackList
public String getDeserializationBlackList()
-
getDeserializationWhiteList
public String getDeserializationWhiteList()
-
ackAllConsumers
public void ackAllConsumers() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue queue) throws jakarta.jms.JMSException- Specified by:
createBrowserin interfacejakarta.jms.QueueSession- Specified by:
createBrowserin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createBrowser
public jakarta.jms.QueueBrowser createBrowser(jakarta.jms.Queue queue, String filterString) throws jakarta.jms.JMSException- Specified by:
createBrowserin interfacejakarta.jms.QueueSession- Specified by:
createBrowserin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTemporaryQueue
public jakarta.jms.TemporaryQueue createTemporaryQueue() throws jakarta.jms.JMSException- Specified by:
createTemporaryQueuein interfacejakarta.jms.QueueSession- Specified by:
createTemporaryQueuein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTemporaryTopic
public jakarta.jms.TemporaryTopic createTemporaryTopic() throws jakarta.jms.JMSException- Specified by:
createTemporaryTopicin interfacejakarta.jms.Session- Specified by:
createTemporaryTopicin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
unsubscribe
public void unsubscribe(String name) throws jakarta.jms.JMSException
- Specified by:
unsubscribein interfacejakarta.jms.Session- Specified by:
unsubscribein interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
getSession
public jakarta.jms.Session getSession() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
getXAResource
public XAResource getXAResource()
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue, String messageSelector) throws jakarta.jms.JMSException- Specified by:
createReceiverin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue) throws jakarta.jms.JMSException- Specified by:
createReceiverin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException
-
createSender
public jakarta.jms.QueueSender createSender(jakarta.jms.Queue queue) throws jakarta.jms.JMSException- Specified by:
createSenderin interfacejakarta.jms.QueueSession- Throws:
jakarta.jms.JMSException
-
getQueueSession
public jakarta.jms.QueueSession getQueueSession() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
createPublisher
public jakarta.jms.TopicPublisher createPublisher(jakarta.jms.Topic topic) throws jakarta.jms.JMSException- Specified by:
createPublisherin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic, String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic) throws jakarta.jms.JMSException- Specified by:
createSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
getTopicSession
public jakarta.jms.TopicSession getTopicSession() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
getCoreSession
public ClientSession getCoreSession()
-
isRecoverCalled
public boolean isRecoverCalled()
-
setRecoverCalled
public void setRecoverCalled(boolean recoverCalled)
-
deleteTemporaryTopic
public void deleteTemporaryTopic(ActiveMQDestination tempTopic) throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
deleteTemporaryQueue
public void deleteTemporaryQueue(ActiveMQDestination tempQueue) throws jakarta.jms.JMSException
- Throws:
jakarta.jms.JMSException
-
start
public void start() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
stop
public void stop() throws jakarta.jms.JMSException- Throws:
jakarta.jms.JMSException
-
removeConsumer
public void removeConsumer(ActiveMQMessageConsumer consumer)
-
isEnable1xPrefixes
public boolean isEnable1xPrefixes()
-
getConnection
public ActiveMQConnection getConnection()
-
-