

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 适用于 RabbitMQ 的亚马逊 MQ JMS 支持
JMS 支持

现在，你可以使用 RabbitMQ JMS 客户端在亚马逊 MQ 上运行 RabbitMQ 4 的 JMS 1.1、2.0 和 3.1 工作负载。

## RabbitMQ JMS 客户端


 RabbitMQ JMS 客户端是一个开源 JMS 客户端库，你需要用它来将 JMS 应用程序连接到亚马逊 MQ RabbitMQ 代理。欲了解更多信息，请访问[官方 GitHub 存储库](https://github.com/rabbitmq/rabbitmq-jms-client)。

## 支持 JMS 1.1、2.0 和 3.1 APIs


 从适用于 RabbitMQ 4 的亚马逊 MQ 开始，该插件始终处于启用状态。`jms-topic-exchange`因此，你可以使用适用于 RabbitMQ 4 的 Amazon MQ 和 RabbitMQ JMS 客户端来处理 JMS 工作负载。支持 JMS [1.1 中 APIs 定义的所有 JMS](https://javaee.github.io/jms-spec/pages/JMS20FinalRelease#reference-implementation)，但以下情况除外：
+ 不支持服务器 APIs 会话。
+  APIs 不支持 XA 事务。
+ 不支持 JMS 队列目标的 JMS 选择器。
+ 不支持 JMS `NoLocal` 订阅属性。

支持 [JMS 2.0 和 JMS 3.1 APIs 中所有新添加的内容，但以下情况](https://javaee.github.io/jms-spec/pages/JMS20FinalRelease#reference-implementation)除外：
+ `JMSProducer.setDeliveryDelay`不支持 API。

要了解有关将您的 JMS 应用程序连接到 RabbitMQ 代理的 Amazon MQ 的更多信息，请参阅有关将您的 JM [S 应用程序连接到 RabbitMQ 代理的亚马逊 M](rabbitmq-tutorial-jms.md) Q 的教程

## 身份验证和授权


 支持[本节](rabbitmq-authentication.md)中列出的所有身份验证和授权机制。使用 JMS 客户端连接到代理时使用的凭据与使用 AMQP Java 客户端连接 RabbitMQ 代理时使用的凭证相同。

## 与 RabbitMQ 上的 AMQP 队列的互操作性


 您可以使用 RabbitMQ JMS 客户端向 AMQP 交易所发送 JMS 消息并使用来自 AMQP 队列的消息（此功能不支持 JMS 主题）。这使您可以互操作或将某些 JMS 工作负载迁移到 AMQP 工作负载。如需了解更多信息，请访问[官方客户文档](https://rabbitmq.github.io/rabbitmq-jms-client/2.x/stable/htmlsingle/index.html#destination-interoperability)。