Class RabbitManagementAdapter
java.lang.Object
com.kingsrook.qqq.esb.management.RabbitManagementAdapter
- All Implemented Interfaces:
EsbBrokerAdapter
Broker adapter for RabbitMQ: queue info and purge through the management
plugin's HTTP API, on the provider's managementUrl (e.g.,
http://host:15672). RabbitMQ can't pause a queue, or delete or move
selected messages, so those throw UnsupportedOperationException (pausing
QQQ's own consumers, via the trigger controls, covers QQQ's side).
The vhost is the one in the provider's AMQP url, as the JMS client reads it:
the url's path, less its leading slash, decoded; no path (or just a slash)
is the default vhost, "/".
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRabbitManagementAdapter(QEsbProviderMetaData provider) Constructor - for a provider with a managementUrl. -
Method Summary
Modifier and TypeMethodDescriptionThe actions this adapter's broker supports.intdeleteMessages(String brokerQueueName, List<String> messageIds) Not supported by RabbitMQ.intdeleteMessagesOlderThan(String brokerQueueName, Instant cutoff) Not supported by RabbitMQ.getQueueInfo(String brokerQueueName) GET /api/queues/VHOST/NAME: its messages (ready plus unacknowledged) and consumers.intmoveMessages(String brokerQueueName, List<String> messageIds, String toBrokerQueueName) Not supported by RabbitMQ.voidpauseQueue(String brokerQueueName) Not supported by RabbitMQ.longpurgeQueue(String brokerQueueName) DELETE /api/queues/VHOST/NAME/contents.voidresumeQueue(String brokerQueueName) Not supported by RabbitMQ.
-
Field Details
-
CAPABILITIES
-
-
Constructor Details
-
RabbitManagementAdapter
Constructor - for a provider with a managementUrl.
-
-
Method Details
-
capabilities
Description copied from interface:EsbBrokerAdapterThe actions this adapter's broker supports.- Specified by:
capabilitiesin interfaceEsbBrokerAdapter
-
getQueueInfo
GET /api/queues/VHOST/NAME: its messages (ready plus unacknowledged) and consumers. (The API's counts are sampled, so they can lag by a few seconds.)- Specified by:
getQueueInfoin interfaceEsbBrokerAdapter- Throws:
QException
-
purgeQueue
DELETE /api/queues/VHOST/NAME/contents. The API doesn't say how many messages it removed, so this returns how many the queue held just before (from getQueueInfo) - which, like all the API's counts, can lag a little.- Specified by:
purgeQueuein interfaceEsbBrokerAdapter- Throws:
QException
-
pauseQueue
Not supported by RabbitMQ.- Specified by:
pauseQueuein interfaceEsbBrokerAdapter
-
resumeQueue
Not supported by RabbitMQ.- Specified by:
resumeQueuein interfaceEsbBrokerAdapter
-
deleteMessages
Not supported by RabbitMQ.- Specified by:
deleteMessagesin interfaceEsbBrokerAdapter
-
deleteMessagesOlderThan
Not supported by RabbitMQ.- Specified by:
deleteMessagesOlderThanin interfaceEsbBrokerAdapter
-
moveMessages
Not supported by RabbitMQ.- Specified by:
moveMessagesin interfaceEsbBrokerAdapter
-