消息队列RabbitMQ版提供JMS库供JMS客户端接入消息队列RabbitMQ版。本文介绍消息队列RabbitMQ版JMS库的相关概念、获取方式、使用限制和使用教程。
背景信息
JMS是一种消息传递标准,允许基于Java EE(Java平台企业版)的应用程序组件创建、发送、接收、读取消息。JMS使分布式应用能够以松耦合、可靠、异步的方式进行通信。消息队列RabbitMQ版JMS库支持JMS 1.1。
消息队列RabbitMQ版JMS库
消息队列RabbitMQ版JMS库是消息队列RabbitMQ版提供的JMS接口。JMS应用只需变更少量代码,即可通过该接口接入消息队列RabbitMQ版,将消息队列RabbitMQ版作为JMS Provider。您可以使用消息队列RabbitMQ版JMS库创建JMS Connection、JMS Session、JMS Producer和JMS Consumer。
如需了解JMS和AMQP的概念和差异,请参见AMQP和JMS差异。
获取方式
消息队列RabbitMQ版JMS库的获取方式如下:
- 在Maven项目的pom.xml文件中添加以下依赖。
<dependency> <groupId>com.alibaba.mq-amqp.jms</groupId> <artifactId>mq-amqp-jms-client</artifactId> <version>1.11.2-1.0.0</version> <exclusions> <exclusion> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> </exclusion> </exclusions> </dependency>
- 下载依赖的JAR文件。
使用限制
消息队列RabbitMQ版JMS库的使用限制如下:
- 不支持服务器会话。
- 未实现XA事务接口。
- 支持Topic选择器,未实现Queue选择器。
- 支持SSL和socket选项,但只能使用消息队列RabbitMQ版JMS客户端提供的默认SSL连接协议。
- 不支持JMS NoLocal订阅。NoLocal订阅可以防止订阅者从自己的连接发布消息。您可以调用包含NoLocal参数的方法,但是调用会被忽略。
如需了解消息队列RabbitMQ版JMS库接口实现情况,请参见JMS接口兼容性。
使用教程
消息队列RabbitMQ版JMS库的使用教程如下:
项目 | 描述 | 文档 |
---|---|---|
P2P | JMS P2P(点对点)消息收发模式具有以下特点:
|
|
Pub/Sub | JMS Pub/Sub消息收发模式具有以下特点:
|