IBM Cloud Docs
Using RabbitMQ plug-ins

Using RabbitMQ plug-ins

RabbitMQ supports various plug-ins to extend its core functions. IBM Cloud® Messages for RabbitMQ comes with a selection of plug-ins that are already enabled on your deployment. Plug-in management is handled by the Messages for RabbitMQ service. Users cannot enable or disable plug-ins.

Available Messages for RabbitMQ plug-ins

Available RabbitMQ plug-ins
Plug-in Name
Shovel plug-in rabbitmq_shovel
Shovel Management plug-in rabbitmq_shovel_management
Delayed Message plug-in rabbitmq_delayed_message_exchange
STOMP plug-in rabbitmq_stomp
RabbitMQ Management plug-in rabbitmq_management
JMS plug-in rabbitmq_jms_topic_exchange
MQTT plug-in rabbitmq_mqtt

Shovel plug-in

Messages for RabbitMQ comes with the Shovel plug-in, rabbitmq_shovel, and the Shovel Management plug-in, rabbitmq_shovel_management, enabled. You can configure the plug-in through both the RabbitMQ Management plug-in UI and its accompanying API.

The Shovel Status and Shovel Management links appear under the Admin tab.

Admin tab with the Shovel plug-in
Admin tab with the Shovel plug-in

If you do not see the Admin tab, you might need to log in to the management UI with the admin user.

In the RabbitMQ Management API, the Shovel Management plug-in adds endpoints for listing, creating, and deleting shovels. Usage and examples are in the GitHub repository's documentation.

Delayed Message plug-in

The delayed message plug-in, rabbitmq_delayed_message_exchange is a third-party plug-in that adds delayed messaging and scheduled messaging to RabbitMQ.

To use the plug-in, declare an exchange with the type x-delayed-type. To delay a message, publish it with the x-delay header with the number of milliseconds to delay the message. More detailed usage information is in the plug-in's documentation.

STOMP plug-in

The RabbitMQ STOMP plug-in, rabbitmq_stomp, supports sending STOMP-formatted messages through RabbitMQ. The plug-in enables a port to handle STOMP traffic on your deployment, and it is TLS/SSL secured. The connection information for STOMP clients is in the stomp_ssl section of your deployment's connection strings.

RabbitMQ Management plug-in

The RabbitMQ Management plug-in, rabbitmq_management, provides access to your deployment through a web browser, rabbitmqadmin, and through the RabbitMQ API. For more information, see Connecting with the RabbitMQ Management plug-in.

JMS plug-in

The RabbitMQ JMS Topic Exchange plug-in, rabbitmq_jms_topic_exchange, is enabled by default for Messages for RabbitMQ deployments. This plug-in adds server-side support for the RabbitMQ JMS client and supports JMS topic routing plus selection based on JMS SQL selection rules.

The RabbitMQ JMS Client is required to communicate with the plug-in. Review the JMS Client documentation page that is provided by RabbitMQ for more detailed information on installation and configuration, along with examples.

More detailed information about the JMS plug-in can also be found in the RabbitMQ JMS Topic Exchange plug-in GitHub repo.

MQTT plug-in

The MQTT plug-in, rabbitmq_mqtt, is enabled by default for Messages for RabbitMQ deployments. Information on using the MQTT plug-in is available on the MQTT plug-in page.