Amazon MQ for RabbitMQ JMS support
You can now run JMS 1.1, 2.0, and 3.1 workloads on Amazon MQ for RabbitMQ 4 with RabbitMQ JMS client.
RabbitMQ JMS client
The RabbitMQ JMS client is an open-source JMS client library that you need to connect your JMS application to Amazon MQ RabbitMQ brokers. For more information, please visit the official GitHub repository
Supported JMS 1.1, 2.0 and 3.1 APIs
From Amazon MQ for RabbitMQ 4 onward, the plugin jms-topic-exchange is always enabled. Hence, you can use Amazon MQ for RabbitMQ 4 and RabbitMQ JMS client for your JMS workload.
All JMS APIs defined in the JMS 1.1
Server sessions APIs are not supported.
XA transaction APIs are not supported.
JMS selector for JMS Queue destination is not supported.
JMS
NoLocalsubscription attribute is not supported.
All newly added APIs in JMS 2.0 and JMS 3.1
JMSProducer.setDeliveryDelayAPI is not supported.
To learn more about connecting your JMS application to Amazon MQ for RabbitMQ broker, please see the tutorial on Connecting your JMS application to Amazon MQ for RabbitMQ broker
Authentication and Authorization
All authentication and authorization mechanisms listed in this section are supported. The credentials used for connecting to the broker using the JMS client are the same as if you were connecting to the RabbitMQ broker using an AMQP Java client.
Interoperability with AMQP queues on RabbitMQ
You can use the RabbitMQ JMS client to send JMS messages to an AMQP exchange and consume messages from an AMQP queue (this feature does not support JMS topics). This enables you to interoperate or migrate certain JMS workloads to AMQP workloads.
For more information, please visit the official client documentation