- java.lang.Object
-
- com.rabbitmq.jms.client.RMQSession
-
- All Implemented Interfaces:
jakarta.jms.QueueSession,jakarta.jms.Session,jakarta.jms.TopicSession,java.lang.AutoCloseable,java.lang.Runnable
public class RMQSession extends java.lang.Object implements jakarta.jms.Session, jakarta.jms.QueueSession, jakarta.jms.TopicSessionRabbitMQ implementation of JMSSession
-
-
Field Summary
Fields Modifier and Type Field Description static intCLIENT_INDIVIDUAL_ACKNOWLEDGEThis value must be the maximum allowed, and contiguous with valid values foracknowledgeMode.
-
Constructor Summary
Constructors Constructor Description RMQSession(RMQConnection connection, boolean transacted, int onMessageTimeoutMs, int mode, com.rabbitmq.jms.client.Subscriptions subscriptions, com.rabbitmq.jms.client.DelayedMessageService delayedMessageService)Creates a session object associated with a connectionRMQSession(SessionParams sessionParams)Creates a session object associated with a connection
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()voidcommit()jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue queue)jakarta.jms.QueueBrowsercreateBrowser(jakarta.jms.Queue queue, java.lang.String messageSelector)jakarta.jms.BytesMessagecreateBytesMessage()jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination)jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, java.lang.String messageSelector)jakarta.jms.MessageConsumercreateConsumer(jakarta.jms.Destination destination, java.lang.String messageSelector, boolean noLocal)jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, java.lang.String name)jakarta.jms.MessageConsumercreateDurableConsumer(jakarta.jms.Topic topic, java.lang.String name, java.lang.String messageSelector, boolean noLocal)jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, java.lang.String name)jakarta.jms.TopicSubscribercreateDurableSubscriber(jakarta.jms.Topic topic, java.lang.String name, java.lang.String messageSelector, boolean noLocal)jakarta.jms.MapMessagecreateMapMessage()jakarta.jms.MessagecreateMessage()jakarta.jms.ObjectMessagecreateObjectMessage()jakarta.jms.ObjectMessagecreateObjectMessage(java.io.Serializable object)jakarta.jms.MessageProducercreateProducer(jakarta.jms.Destination destination)jakarta.jms.TopicPublishercreatePublisher(jakarta.jms.Topic topic)jakarta.jms.QueuecreateQueue(java.lang.String queueName)jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue)jakarta.jms.QueueReceivercreateReceiver(jakarta.jms.Queue queue, java.lang.String messageSelector)jakarta.jms.QueueSendercreateSender(jakarta.jms.Queue queue)jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, java.lang.String sharedSubscriptionName)jakarta.jms.MessageConsumercreateSharedConsumer(jakarta.jms.Topic topic, java.lang.String sharedSubscriptionName, java.lang.String messageSelector)jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, java.lang.String name)jakarta.jms.MessageConsumercreateSharedDurableConsumer(jakarta.jms.Topic topic, java.lang.String name, java.lang.String messageSelector)jakarta.jms.StreamMessagecreateStreamMessage()jakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic)jakarta.jms.TopicSubscribercreateSubscriber(jakarta.jms.Topic topic, java.lang.String messageSelector, boolean noLocal)jakarta.jms.TemporaryQueuecreateTemporaryQueue()jakarta.jms.TemporaryTopiccreateTemporaryTopic()jakarta.jms.TextMessagecreateTextMessage()jakarta.jms.TextMessagecreateTextMessage(java.lang.String text)jakarta.jms.TopiccreateTopic(java.lang.String topicName)intgetAcknowledgeMode()jakarta.jms.MessageListenergetMessageListener()ReplyToStrategygetReplyToStrategy()Gets the reply to strategy that should be followed if as reply to is found on a received message.booleangetTransacted()java.util.List<java.lang.String>getTrustedPackages()voidrecover()voidrollback()voidrun()voidsetMessageListener(jakarta.jms.MessageListener listener)voidsetQueueDeclareArguments(java.util.Map<java.lang.String,java.lang.Object> queueDeclareArguments)Set arguments to be used when declaring a queue while creating a producer.voidunsubscribe(java.lang.String name)This is only available for topic subscriptions.
-
-
-
Field Detail
-
CLIENT_INDIVIDUAL_ACKNOWLEDGE
public static final int CLIENT_INDIVIDUAL_ACKNOWLEDGE
This value must be the maximum allowed, and contiguous with valid values foracknowledgeMode.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RMQSession
public RMQSession(SessionParams sessionParams) throws jakarta.jms.JMSException
Creates a session object associated with a connection- Parameters:
sessionParams- parameters for this session- Throws:
jakarta.jms.JMSException- if we fail to create aChannelobject on the connection, or if the acknowledgement mode is incorrect
-
RMQSession
public RMQSession(RMQConnection connection, boolean transacted, int onMessageTimeoutMs, int mode, com.rabbitmq.jms.client.Subscriptions subscriptions, com.rabbitmq.jms.client.DelayedMessageService delayedMessageService) throws jakarta.jms.JMSException
Creates a session object associated with a connection- Parameters:
connection- the connection that we will send data ontransacted- whether this session is transacted or notonMessageTimeoutMs- how long to wait for onMessage to return, in millisecondsmode- the (fixed) acknowledgement mode for this sessionsubscriptions- the connection's subscriptions, shared with all sessions- Throws:
jakarta.jms.JMSException- if we fail to create aChannelobject on the connection, or if the acknowledgement mode is incorrect
-
-
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(java.io.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(java.lang.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
-
getTrustedPackages
public java.util.List<java.lang.String> getTrustedPackages()
-
setQueueDeclareArguments
public void setQueueDeclareArguments(java.util.Map<java.lang.String,java.lang.Object> queueDeclareArguments)
Set arguments to be used when declaring a queue while creating a producer.Use this method only when you need to customize the creation of an AMQP queue. Note calling this method requires to cast the JMS
SessiontoRMQSession, coupling the code to the JMS implementation. Common usage is to keep this call in one place, not scattered in the application code.- Parameters:
queueDeclareArguments-- Since:
- 1.14.0
-
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 interfacejava.lang.AutoCloseable- 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()
- Specified by:
runin interfacejava.lang.Runnable- Specified by:
runin interfacejakarta.jms.Session
-
createProducer
public jakarta.jms.MessageProducer createProducer(jakarta.jms.Destination destination) throws jakarta.jms.JMSExceptionNote: The destination may be null.
- 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, java.lang.String messageSelector) throws jakarta.jms.JMSException- Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
java.lang.UnsupportedOperationException- - method not implemented until we support selectorsjakarta.jms.JMSException
-
createConsumer
public jakarta.jms.MessageConsumer createConsumer(jakarta.jms.Destination destination, java.lang.String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createConsumerin interfacejakarta.jms.Session- Throws:
java.lang.UnsupportedOperationException- - method not implemented until we support selectorsjakarta.jms.JMSException
-
createQueue
public jakarta.jms.Queue createQueue(java.lang.String queueName) throws jakarta.jms.JMSException- Specified by:
createQueuein interfacejakarta.jms.QueueSession- Specified by:
createQueuein interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createTopic
public jakarta.jms.Topic createTopic(java.lang.String topicName) throws jakarta.jms.JMSException- Specified by:
createTopicin interfacejakarta.jms.Session- Specified by:
createTopicin interfacejakarta.jms.TopicSession- 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, java.lang.String messageSelector) 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(java.lang.String name) throws jakarta.jms.JMSExceptionThis is only available for topic subscriptions.- Specified by:
unsubscribein interfacejakarta.jms.Session- Specified by:
unsubscribein interfacejakarta.jms.TopicSession- 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
-
createReceiver
public jakarta.jms.QueueReceiver createReceiver(jakarta.jms.Queue queue, java.lang.String messageSelector) 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.JMSExceptionNote: The queue may be null -- see
createProducer(jakarta.jms.Destination).- Specified by:
createSenderin interfacejakarta.jms.QueueSession- 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
-
createSubscriber
public jakarta.jms.TopicSubscriber createSubscriber(jakarta.jms.Topic topic, java.lang.String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createSubscriberin interfacejakarta.jms.TopicSession- 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
-
createDurableConsumer
public jakarta.jms.MessageConsumer createDurableConsumer(jakarta.jms.Topic topic, java.lang.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, java.lang.String name, java.lang.String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createDurableConsumerin interfacejakarta.jms.Session- Throws:
jakarta.jms.JMSException
-
createSharedConsumer
public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, java.lang.String sharedSubscriptionName)- Specified by:
createSharedConsumerin interfacejakarta.jms.Session
-
createSharedConsumer
public jakarta.jms.MessageConsumer createSharedConsumer(jakarta.jms.Topic topic, java.lang.String sharedSubscriptionName, java.lang.String messageSelector)- Specified by:
createSharedConsumerin interfacejakarta.jms.Session
-
createSharedDurableConsumer
public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, java.lang.String name)- Specified by:
createSharedDurableConsumerin interfacejakarta.jms.Session
-
createSharedDurableConsumer
public jakarta.jms.MessageConsumer createSharedDurableConsumer(jakarta.jms.Topic topic, java.lang.String name, java.lang.String messageSelector)- Specified by:
createSharedDurableConsumerin interfacejakarta.jms.Session
-
createDurableSubscriber
public jakarta.jms.TopicSubscriber createDurableSubscriber(jakarta.jms.Topic topic, java.lang.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, java.lang.String name, java.lang.String messageSelector, boolean noLocal) throws jakarta.jms.JMSException- Specified by:
createDurableSubscriberin interfacejakarta.jms.Session- Specified by:
createDurableSubscriberin interfacejakarta.jms.TopicSession- Throws:
jakarta.jms.JMSException
-
getReplyToStrategy
public ReplyToStrategy getReplyToStrategy()
Gets the reply to strategy that should be followed if as reply to is found on a received message.- Returns:
- The reply to strategy.
- Since:
- 2.9.0
-
-