- java.lang.Object
-
- com.rabbitmq.jms.client.RMQConnection
-
- All Implemented Interfaces:
jakarta.jms.Connection,jakarta.jms.QueueConnection,jakarta.jms.TopicConnection,java.lang.AutoCloseable
public class RMQConnection extends java.lang.Object implements jakarta.jms.Connection, jakarta.jms.QueueConnection, jakarta.jms.TopicConnectionImplementation of theConnection,QueueConnectionandTopicConnectioninterfaces. ARMQConnectionobject holds a list ofRMQSessionobjects as well as the actual {link com.rabbitmq.client.Connection} object that represents the TCP connection to the RabbitMQ broker.This implementation also holds a reference to the executor service that is used by the connection so that we can pause incoming messages.
-
-
Field Summary
Fields Modifier and Type Field Description static intNO_CHANNEL_QOS
-
Constructor Summary
Constructors Constructor Description RMQConnection(com.rabbitmq.client.Connection rabbitConnection)Creates an RMQConnection object, with default termination timeout of 15 seconds, a 2 seconds timeout for onMessage, and unlimited reads from QueueBrowsers.RMQConnection(com.rabbitmq.client.Connection rabbitConnection, long terminationTimeout, int queueBrowserReadMax, int onMessageTimeoutMs)Creates an RMQConnection object.RMQConnection(ConnectionParams connectionParams)Creates an RMQConnection object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()From the JMS Spec:jakarta.jms.ConnectionConsumercreateConnectionConsumer(jakarta.jms.Destination destination, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.ConnectionConsumercreateConnectionConsumer(jakarta.jms.Queue queue, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.ConnectionConsumercreateConnectionConsumer(jakarta.jms.Topic topic, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.ConnectionConsumercreateDurableConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.QueueSessioncreateQueueSession(boolean transacted, int acknowledgeMode)jakarta.jms.SessioncreateSession()jakarta.jms.SessioncreateSession(boolean transacted, int acknowledgeMode)jakarta.jms.SessioncreateSession(int sessionMode)jakarta.jms.ConnectionConsumercreateSharedConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.ConnectionConsumercreateSharedDurableConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)jakarta.jms.TopicSessioncreateTopicSession(boolean transacted, int acknowledgeMode)java.lang.StringgetClientID()jakarta.jms.ExceptionListenergetExceptionListener()jakarta.jms.ConnectionMetaDatagetMetaData()ReplyToStrategygetReplyToStrategy()Gets the reply to strategy that should be followed if as reply to is found on a received message.java.util.List<java.lang.String>getTrustedPackages()booleanisStopped()voidsetClientID(java.lang.String clientID)voidsetExceptionListener(jakarta.jms.ExceptionListener listener)voidstart()voidstop()java.lang.StringtoString()
-
-
-
Field Detail
-
NO_CHANNEL_QOS
public static final int NO_CHANNEL_QOS
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
RMQConnection
public RMQConnection(ConnectionParams connectionParams)
Creates an RMQConnection object.- Parameters:
connectionParams- parameters for this connection
-
RMQConnection
public RMQConnection(com.rabbitmq.client.Connection rabbitConnection, long terminationTimeout, int queueBrowserReadMax, int onMessageTimeoutMs)Creates an RMQConnection object.- Parameters:
rabbitConnection- the TCP connection wrapper to the RabbitMQ brokerterminationTimeout- timeout for close in millisecondsqueueBrowserReadMax- maximum number of messages to read from a QueueBrowser (before filtering)onMessageTimeoutMs- how long to wait for onMessage to return, in milliseconds
-
RMQConnection
public RMQConnection(com.rabbitmq.client.Connection rabbitConnection)
Creates an RMQConnection object, with default termination timeout of 15 seconds, a 2 seconds timeout for onMessage, and unlimited reads from QueueBrowsers.- Parameters:
rabbitConnection- the TCP connection wrapper to the RabbitMQ broker
-
-
Method Detail
-
createSession
public jakarta.jms.Session createSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
getClientID
public java.lang.String getClientID() throws jakarta.jms.JMSException- Specified by:
getClientIDin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
setClientID
public void setClientID(java.lang.String clientID) throws jakarta.jms.JMSException- Specified by:
setClientIDin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
getTrustedPackages
public java.util.List<java.lang.String> getTrustedPackages()
-
getMetaData
public jakarta.jms.ConnectionMetaData getMetaData() throws jakarta.jms.JMSException- Specified by:
getMetaDatain interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
getExceptionListener
public jakarta.jms.ExceptionListener getExceptionListener() throws jakarta.jms.JMSException- Specified by:
getExceptionListenerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
setExceptionListener
public void setExceptionListener(jakarta.jms.ExceptionListener listener) throws jakarta.jms.JMSException- Specified by:
setExceptionListenerin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
start
public void start() throws jakarta.jms.JMSException- Specified by:
startin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
stop
public void stop() throws jakarta.jms.JMSException- Specified by:
stopin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
isStopped
public boolean isStopped()
- Returns:
trueif this connection is in a stopped state
-
close
public void close() throws jakarta.jms.JMSExceptionFrom the JMS Spec:This call blocks until a receive or message listener in progress has completed. A blocked message consumer receive call returns null when this message consumer is closed.
- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
createTopicSession
public jakarta.jms.TopicSession createTopicSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException- Specified by:
createTopicSessionin interfacejakarta.jms.TopicConnection- Throws:
jakarta.jms.JMSException
-
createConnectionConsumer
public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Topic topic, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException- Specified by:
createConnectionConsumerin interfacejakarta.jms.TopicConnection- Throws:
java.lang.UnsupportedOperationException- - optional method not implementedjakarta.jms.JMSException
-
createQueueSession
public jakarta.jms.QueueSession createQueueSession(boolean transacted, int acknowledgeMode) throws jakarta.jms.JMSException- Specified by:
createQueueSessionin interfacejakarta.jms.QueueConnection- Throws:
jakarta.jms.JMSException
-
createConnectionConsumer
public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Queue queue, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages) throws jakarta.jms.JMSException- Specified by:
createConnectionConsumerin interfacejakarta.jms.QueueConnection- Throws:
java.lang.UnsupportedOperationException- - optional method not implementedjakarta.jms.JMSException
-
createConnectionConsumer
public jakarta.jms.ConnectionConsumer createConnectionConsumer(jakarta.jms.Destination destination, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)- Specified by:
createConnectionConsumerin interfacejakarta.jms.Connection- Throws:
java.lang.UnsupportedOperationException- - optional method not implemented
-
createDurableConnectionConsumer
public jakarta.jms.ConnectionConsumer createDurableConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)- Specified by:
createDurableConnectionConsumerin interfacejakarta.jms.Connection- Specified by:
createDurableConnectionConsumerin interfacejakarta.jms.TopicConnection- Throws:
java.lang.UnsupportedOperationException- - optional method not implemented
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
createSession
public jakarta.jms.Session createSession(int sessionMode) throws jakarta.jms.JMSException- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
createSession
public jakarta.jms.Session createSession() throws jakarta.jms.JMSException- Specified by:
createSessionin interfacejakarta.jms.Connection- Throws:
jakarta.jms.JMSException
-
createSharedConnectionConsumer
public jakarta.jms.ConnectionConsumer createSharedConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)- Specified by:
createSharedConnectionConsumerin interfacejakarta.jms.Connection- Throws:
java.lang.UnsupportedOperationException- - optional method not implemented
-
createSharedDurableConnectionConsumer
public jakarta.jms.ConnectionConsumer createSharedDurableConnectionConsumer(jakarta.jms.Topic topic, java.lang.String subscriptionName, java.lang.String messageSelector, jakarta.jms.ServerSessionPool sessionPool, int maxMessages)- Specified by:
createSharedDurableConnectionConsumerin interfacejakarta.jms.Connection- Throws:
java.lang.UnsupportedOperationException- - optional method not implemented
-
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
-
-