ActiveMQ系列—JMS规范
来源:互联网 发布:成都java培训费用多少 编辑:程序博客网 时间:2024/06/05 19:29
JMS不是消息队列,更不是某种消息队列协议。JMS是Java消息服务接口,是一套规范的JAVA API 接口。这套规范接口由SUN提出,并在2002年发布JMS规范的Version 1.1版本。JMS和消息中间件厂商无关,既然是一套接口规范,就代表这它需要各个厂商进行实现。好消息是,大部分消息中间件产品都支持JMS 接口规范。也就是说,您可以使用JMS API来连接Stomp协议的产品(例如ActiveMQ)。就像您可以使用JDBC API来连接ORACLE或者MYSQL一样。
部分网络上的资料都介绍JMS是一个消息队列,这个说法是错误的,会误导读者。难道你能说JDBC是数据库?
当然,这些具体实现JMS规范的JAVA API都是由具体的中间件厂商提供的。下面一段代码演示了如何使用JMS建立与ActiveMQ的连接:
import javax.jms.Connection;import javax.jms.Destination;import javax.jms.MessageProducer;import javax.jms.Session;import javax.jms.TextMessage;import org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory;/** * 测试使用JMS API连接ActiveMQ */public class JMSProducer { /** * 由于是测试代码,这里忽略了异常处理。 正是代码可不能这样做 */ public static void main(String[] args) throws Exception { // 定义JMS-ActiveMQ连接信息 ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616", "username", "password"); Session session = null; Destination sendQueue; Connection connection = null; // 进行连接 connection = connectionFactory.createConnection(); connection.start(); // 建立会话 session = connection.createSession(true, Session.SESSION_TRANSACTED); // 建立queue(当然如果有了就不会重复建立) sendQueue = session.createQueue(""); // 建立消息发送者对象 MessageProducer sender = session.createProducer(sendQueue); TextMessage outMessage = session.createTextMessage(); outMessage.setText("这是发送的消息内容"); // 发送(JMS是支持事务的) sender.send(outMessage); session.commit(); // 关闭 sender.close(); connection.close(); connectionFactory.close(); }}
这里,再给各位读者一个官方文档。这个官方文档用于描述ActiveMQ消息中间件中实现的AMQP协议信息转换为JMS服务接口能够识别的数据信息(请仔细理解这句话黑体字部分的描述)。http://activemq.apache.org/amqp.html
阅读全文
0 0
- ActiveMQ系列—JMS规范
- ActiveMQ系列—JMS规范中的几个基本概念
- ActiveMQ 02 JMS规范
- JMS-ActiveMQ系列
- JMS规范,ActiveMQ消息中间件
- JMS——Spring+ActiveMQ
- JMS实战——ActiveMQ
- JMS ActiveMQ
- JMS ActiveMQ
- JMS ActiveMQ
- JMS activeMQ
- JMS------ActiveMQ
- JMS activeMQ
- JMS-ActiveMQ
- ActiveMQ系列—JMS和协议间转换(代码示例)
- ActiveMQ系列—ActiveMQ安装
- ActiveMQ系列之三:理解和掌握JMS
- 消息队列系列之ActiveMQ(JMS、集群配置)
- 内存按字节编址,地址从A4000H到CBFFFH,共有多少个字
- ubuntu ibus 无法全拼的问题
- 客户端和服务器端跳转
- 素数
- 机器学习入门笔记(七)----机器学习实用方法
- ActiveMQ系列—JMS规范
- 卫语句取代嵌套条件表达式
- fortan笔记
- json-c_0_12使用说明
- web开发快速提高工作效率的一些资源
- 注册页面数据校验(JS基本语法)
- 上传图片预览JS脚本 Input file图片预览的实现示例
- div实现绑定按键事件
- iOS视频边下边播–缓存数据流(备用知识点)