Package org.apache.activemq.artemis.ra
Class ActiveMQRASession
- java.lang.Object
-
- org.apache.activemq.artemis.ra.ActiveMQRASession
-
- All Implemented Interfaces:
AutoCloseable,Runnable,javax.jms.QueueSession,javax.jms.Session,javax.jms.TopicSession,javax.jms.XAQueueSession,javax.jms.XASession,javax.jms.XATopicSession
public class ActiveMQRASession extends Object implements javax.jms.QueueSession, javax.jms.TopicSession, javax.jms.XAQueueSession, javax.jms.XATopicSession
A joint interface for JMS sessions
-
-
Constructor Summary
Constructors Constructor Description ActiveMQRASession(ActiveMQRAManagedConnection mc, ActiveMQRAConnectionRequestInfo cri)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckState()voidclose()Closes the session.voidcommit()Commitjavax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queue)Create a browserjavax.jms.QueueBrowsercreateBrowser(javax.jms.Queue queue, String messageSelector)Create a browserjavax.jms.BytesMessagecreateBytesMessage()Create a bytes messagejavax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination)Create a message consumerjavax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector)Create a message consumerjavax.jms.MessageConsumercreateConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal)Create a message consumerjavax.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 name)Create a durable topic subscriberjavax.jms.TopicSubscribercreateDurableSubscriber(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal)Create a topic subscriberjavax.jms.MapMessagecreateMapMessage()Create a map messagejavax.jms.MessagecreateMessage()Create a messagejavax.jms.ObjectMessagecreateObjectMessage()Create an object messagejavax.jms.ObjectMessagecreateObjectMessage(Serializable object)Create an object messagejavax.jms.MessageProducercreateProducer(javax.jms.Destination destination)Create a message producerjavax.jms.TopicPublishercreatePublisher(javax.jms.Topic topic)Create a topic publisherjavax.jms.QueuecreateQueue(String queueName)Create a queuejavax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue)Create a queue receiverjavax.jms.QueueReceivercreateReceiver(javax.jms.Queue queue, String messageSelector)Create a queue receiverjavax.jms.QueueSendercreateSender(javax.jms.Queue queue)Create a queue senderjavax.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()Create a stream messagejavax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic)Create a topic subscriberjavax.jms.TopicSubscribercreateSubscriber(javax.jms.Topic topic, String messageSelector, boolean noLocal)Create a topic subscriberjavax.jms.TemporaryQueuecreateTemporaryQueue()Create a temporary queuejavax.jms.TemporaryTopiccreateTemporaryTopic()Create a temporary topicjavax.jms.TextMessagecreateTextMessage()Create a text messagejavax.jms.TextMessagecreateTextMessage(String string)Create a text messagejavax.jms.TopiccreateTopic(String topicName)Create a topicintgetAcknowledgeMode()Get the acknowledge modejavax.resource.spi.ManagedConnectiongetManagedConnection()for tests onlyjavax.jms.MessageListenergetMessageListener()Get the message listener -- throws IllegalStateExceptionStringgetNodeId()Returns the ID of the Node that this session is associated with.javax.jms.QueueSessiongetQueueSession()Get the queue sessionjavax.jms.SessiongetSession()Get the sessionjavax.jms.TopicSessiongetTopicSession()Get the topic sessionbooleangetTransacted()Get transactedXAResourcegetXAResource()Get the XA resourceprotected voidlock()Lockvoidrecover()Recovervoidrollback()Rollbackvoidrun()Always throws an Error.voidsetActiveMQSessionFactory(ActiveMQRASessionFactory sf)Set the session factoryvoidsetMessageListener(javax.jms.MessageListener listener)Set the message listener -- Throws IllegalStateExceptionprotected voidunlock()Unlockvoidunsubscribe(String name)Unsubscribe
-
-
-
Constructor Detail
-
ActiveMQRASession
public ActiveMQRASession(ActiveMQRAManagedConnection mc, ActiveMQRAConnectionRequestInfo cri)
Constructor- Parameters:
mc- The managed connectioncri- The connection request info
-
-
Method Detail
-
setActiveMQSessionFactory
public void setActiveMQSessionFactory(ActiveMQRASessionFactory sf)
Set the session factory- Parameters:
sf- The session factory
-
lock
protected void lock() throws javax.jms.JMSExceptionLock- Throws:
javax.jms.JMSException- Thrown if an error occursjavax.jms.IllegalStateException- The session is closed
-
unlock
protected void unlock()
Unlock
-
createBytesMessage
public javax.jms.BytesMessage createBytesMessage() throws javax.jms.JMSExceptionCreate a bytes message- Specified by:
createBytesMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createMapMessage
public javax.jms.MapMessage createMapMessage() throws javax.jms.JMSExceptionCreate a map message- Specified by:
createMapMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createMessage
public javax.jms.Message createMessage() throws javax.jms.JMSExceptionCreate a message- Specified by:
createMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage() throws javax.jms.JMSExceptionCreate an object message- Specified by:
createObjectMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createObjectMessage
public javax.jms.ObjectMessage createObjectMessage(Serializable object) throws javax.jms.JMSException
Create an object message- Specified by:
createObjectMessagein interfacejavax.jms.Session- Parameters:
object- The object- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createStreamMessage
public javax.jms.StreamMessage createStreamMessage() throws javax.jms.JMSExceptionCreate a stream message- Specified by:
createStreamMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createTextMessage
public javax.jms.TextMessage createTextMessage() throws javax.jms.JMSExceptionCreate a text message- Specified by:
createTextMessagein interfacejavax.jms.Session- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createTextMessage
public javax.jms.TextMessage createTextMessage(String string) throws javax.jms.JMSException
Create a text message- Specified by:
createTextMessagein interfacejavax.jms.Session- Parameters:
string- The text- Returns:
- The message
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getTransacted
public boolean getTransacted() throws javax.jms.JMSExceptionGet transacted- Specified by:
getTransactedin interfacejavax.jms.Session- Specified by:
getTransactedin interfacejavax.jms.XASession- Returns:
- True if transacted; otherwise false
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getMessageListener
public javax.jms.MessageListener getMessageListener() throws javax.jms.JMSExceptionGet the message listener -- throws IllegalStateException- Specified by:
getMessageListenerin interfacejavax.jms.Session- Returns:
- The message listener
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
setMessageListener
public void setMessageListener(javax.jms.MessageListener listener) throws javax.jms.JMSExceptionSet the message listener -- Throws IllegalStateException- Specified by:
setMessageListenerin interfacejavax.jms.Session- Parameters:
listener- The message listener- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
run
public void run()
Always throws an Error.
-
close
public void close() throws javax.jms.JMSExceptionCloses the session. Sends a ConnectionEvent.CONNECTION_CLOSED to the managed connection.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.Session- Throws:
javax.jms.JMSException- Failed to close session.
-
commit
public void commit() throws javax.jms.JMSExceptionCommit- Specified by:
commitin interfacejavax.jms.Session- Specified by:
commitin interfacejavax.jms.XASession- Throws:
javax.jms.JMSException- Failed to close session.
-
rollback
public void rollback() throws javax.jms.JMSExceptionRollback- Specified by:
rollbackin interfacejavax.jms.Session- Specified by:
rollbackin interfacejavax.jms.XASession- Throws:
javax.jms.JMSException- Failed to close session.
-
recover
public void recover() throws javax.jms.JMSExceptionRecover- Specified by:
recoverin interfacejavax.jms.Session- Throws:
javax.jms.JMSException- Failed to close session.
-
createTopic
public javax.jms.Topic createTopic(String topicName) throws javax.jms.JMSException
Create a topic- Specified by:
createTopicin interfacejavax.jms.Session- Specified by:
createTopicin interfacejavax.jms.TopicSession- Parameters:
topicName- The topic name- Returns:
- The topic
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic) throws javax.jms.JMSExceptionCreate a topic subscriber- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Parameters:
topic- The topic- Returns:
- The subscriber
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createSubscriber
public javax.jms.TopicSubscriber createSubscriber(javax.jms.Topic topic, String messageSelector, boolean noLocal) throws javax.jms.JMSExceptionCreate a topic subscriber- Specified by:
createSubscriberin interfacejavax.jms.TopicSession- Parameters:
topic- The topicmessageSelector- The message selectornoLocal- If true inhibits the delivery of messages published by its own connection- Returns:
- The subscriber
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name) throws javax.jms.JMSExceptionCreate a durable topic subscriber- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Parameters:
topic- The topicname- The name- Returns:
- The subscriber
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createDurableSubscriber
public javax.jms.TopicSubscriber createDurableSubscriber(javax.jms.Topic topic, String name, String messageSelector, boolean noLocal) throws javax.jms.JMSExceptionCreate a topic subscriber- Specified by:
createDurableSubscriberin interfacejavax.jms.Session- Specified by:
createDurableSubscriberin interfacejavax.jms.TopicSession- Parameters:
topic- The topicname- The namemessageSelector- The message selectornoLocal- If true inhibits the delivery of messages published by its own connection- Returns:
- The subscriber
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createPublisher
public javax.jms.TopicPublisher createPublisher(javax.jms.Topic topic) throws javax.jms.JMSExceptionCreate a topic publisher- Specified by:
createPublisherin interfacejavax.jms.TopicSession- Parameters:
topic- The topic- Returns:
- The publisher
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createTemporaryTopic
public javax.jms.TemporaryTopic createTemporaryTopic() throws javax.jms.JMSExceptionCreate a temporary topic- Specified by:
createTemporaryTopicin interfacejavax.jms.Session- Specified by:
createTemporaryTopicin interfacejavax.jms.TopicSession- Returns:
- The temporary topic
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
unsubscribe
public void unsubscribe(String name) throws javax.jms.JMSException
Unsubscribe- Specified by:
unsubscribein interfacejavax.jms.Session- Specified by:
unsubscribein interfacejavax.jms.TopicSession- Parameters:
name- The name- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queue) throws javax.jms.JMSExceptionCreate a browser- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Parameters:
queue- The queue- Returns:
- The browser
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createBrowser
public javax.jms.QueueBrowser createBrowser(javax.jms.Queue queue, String messageSelector) throws javax.jms.JMSExceptionCreate a browser- Specified by:
createBrowserin interfacejavax.jms.QueueSession- Specified by:
createBrowserin interfacejavax.jms.Session- Parameters:
queue- The queuemessageSelector- The message selector- Returns:
- The browser
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createQueue
public javax.jms.Queue createQueue(String queueName) throws javax.jms.JMSException
Create a queue- Specified by:
createQueuein interfacejavax.jms.QueueSession- Specified by:
createQueuein interfacejavax.jms.Session- Parameters:
queueName- The queue name- Returns:
- The queue
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue) throws javax.jms.JMSExceptionCreate a queue receiver- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Parameters:
queue- The queue- Returns:
- The queue receiver
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createReceiver
public javax.jms.QueueReceiver createReceiver(javax.jms.Queue queue, String messageSelector) throws javax.jms.JMSExceptionCreate a queue receiver- Specified by:
createReceiverin interfacejavax.jms.QueueSession- Parameters:
queue- The queuemessageSelector-- Returns:
- The queue receiver
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createSender
public javax.jms.QueueSender createSender(javax.jms.Queue queue) throws javax.jms.JMSExceptionCreate a queue sender- Specified by:
createSenderin interfacejavax.jms.QueueSession- Parameters:
queue- The queue- Returns:
- The queue sender
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createTemporaryQueue
public javax.jms.TemporaryQueue createTemporaryQueue() throws javax.jms.JMSExceptionCreate a temporary queue- Specified by:
createTemporaryQueuein interfacejavax.jms.QueueSession- Specified by:
createTemporaryQueuein interfacejavax.jms.Session- Returns:
- The temporary queue
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination) throws javax.jms.JMSExceptionCreate a message consumer- Specified by:
createConsumerin interfacejavax.jms.Session- Parameters:
destination- The destination- Returns:
- The message consumer
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector) throws javax.jms.JMSExceptionCreate a message consumer- Specified by:
createConsumerin interfacejavax.jms.Session- Parameters:
destination- The destinationmessageSelector- The message selector- Returns:
- The message consumer
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createConsumer
public javax.jms.MessageConsumer createConsumer(javax.jms.Destination destination, String messageSelector, boolean noLocal) throws javax.jms.JMSExceptionCreate a message consumer- Specified by:
createConsumerin interfacejavax.jms.Session- Parameters:
destination- The destinationmessageSelector- The message selectornoLocal- If true inhibits the delivery of messages published by its own connection- Returns:
- The message consumer
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
createProducer
public javax.jms.MessageProducer createProducer(javax.jms.Destination destination) throws javax.jms.JMSExceptionCreate a message producer- Specified by:
createProducerin interfacejavax.jms.Session- Parameters:
destination- The destination- Returns:
- The message producer
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getAcknowledgeMode
public int getAcknowledgeMode() throws javax.jms.JMSExceptionGet the acknowledge mode- Specified by:
getAcknowledgeModein interfacejavax.jms.Session- Returns:
- The mode
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getXAResource
public XAResource getXAResource()
Get the XA resource- Specified by:
getXAResourcein interfacejavax.jms.XASession
-
getNodeId
public String getNodeId() throws javax.jms.JMSException
Returns the ID of the Node that this session is associated with.- Returns:
- Node ID
- Throws:
javax.jms.JMSException
-
getSession
public javax.jms.Session getSession() throws javax.jms.JMSExceptionGet the session- Specified by:
getSessionin interfacejavax.jms.XASession- Returns:
- The session
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getQueueSession
public javax.jms.QueueSession getQueueSession() throws javax.jms.JMSExceptionGet the queue session- Specified by:
getQueueSessionin interfacejavax.jms.XAQueueSession- Returns:
- The queue session
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
getTopicSession
public javax.jms.TopicSession getTopicSession() throws javax.jms.JMSExceptionGet the topic session- Specified by:
getTopicSessionin interfacejavax.jms.XATopicSession- Returns:
- The topic session
- Throws:
javax.jms.JMSException- Thrown if an error occurs
-
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
-
getManagedConnection
public javax.resource.spi.ManagedConnection getManagedConnection()
for tests only
-
checkState
public void checkState() throws javax.jms.JMSException- Throws:
javax.jms.JMSException
-
-