Class RabbitConnectionFactoryBuilder
java.lang.Object
com.kingsrook.qqq.esb.connection.RabbitConnectionFactoryBuilder
- All Implemented Interfaces:
EsbConnectionFactoryBuilder
Connection factory builder for RabbitMQ (4.x), via the RabbitMQ JMS client.
The provider url is an AMQP URI (host, port, and vhost); username and
password, when given, override any in the URI.
Queues, and the queues behind durable topic subscriptions, are declared as
quorum queues - they are what gives RabbitMQ messages a delivery count.
The AMQP client's own automatic recovery is turned off, so a lost connection
reaches the JMS ExceptionListener, and EsbConnectionManager reconnects (the
JMS sessions and consumers would not survive an AMQP-level recovery anyway).
-
Field Summary
FieldsFields inherited from interface com.kingsrook.qqq.esb.connection.EsbConnectionFactoryBuilder
CONNECT_TIMEOUT_MS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionjakarta.jms.ConnectionFactorybuildConnectionFactory(QEsbProviderMetaData provider) Build a ConnectionFactory for a provider, from its url and credentials.voidconfigureSession(jakarta.jms.Session session) Declare the queues behind this session's durable subscriptions as quorum queues.jakarta.jms.QueuecreateQueue(jakarta.jms.Session session, String brokerQueueName) A (durable, quorum) queue.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.kingsrook.qqq.esb.connection.EsbConnectionFactoryBuilder
createTopic
-
Field Details
-
QUORUM_QUEUE_ARGUMENTS
-
-
Constructor Details
-
RabbitConnectionFactoryBuilder
public RabbitConnectionFactoryBuilder()
-
-
Method Details
-
buildConnectionFactory
public jakarta.jms.ConnectionFactory buildConnectionFactory(QEsbProviderMetaData provider) throws jakarta.jms.JMSException Description copied from interface:EsbConnectionFactoryBuilderBuild a ConnectionFactory for a provider, from its url and credentials.- Specified by:
buildConnectionFactoryin interfaceEsbConnectionFactoryBuilder- Throws:
jakarta.jms.JMSException
-
configureSession
public void configureSession(jakarta.jms.Session session) throws jakarta.jms.JMSException Declare the queues behind this session's durable subscriptions as quorum queues.- Specified by:
configureSessionin interfaceEsbConnectionFactoryBuilder- Throws:
jakarta.jms.JMSException
-
createQueue
A (durable, quorum) queue.- Specified by:
createQueuein interfaceEsbConnectionFactoryBuilder
-