ActiveMQ高级篇-联合JMS详解

ActiveMQ与JMS详解

什么是JMS

JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。(来自百度百科)

简单来说就是应用程序A 想从应用程序B中收到某个消息,甚至是N个应用程序A从应用程序B中收到消息。那么这个时候就会用到JMS啦!

消息传送模型
点对点(队列)模型

一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息。生产者不需要在接收者消费该消息期间处于运行状态,接收者同样也不需要在消息发送时处于运行状态,就比如聊天模型,对方不需要管你在不在线,只需要发消息给你就好了,你在线了自然就接收到了消息,而每一个成功处理的消息都会由接收者签收。

发布者/订阅者模型

发布者向一个特定的消息主题发布消息,0或者多个订阅者可以接收到发布者发布的消息,这种模型下发布者跟订阅者彼此不知道对方。而订阅者则必须保持持续的活动状态以接收消息。

接口

ConnectionFactory接口

用户用来创建连接工厂的,它创建JMS服务提供者和客户端之间的连接。

            ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://127.0.0.1:61616");

Connection接口

该接口代表了应用程序和消息服务器之间的通信链路。在获得了ConnectionFactory(连接工厂)后,就可以创建一个与JMS提供者的连接。

Connection connection = connectionFactory.createConnection();
connection.start();

Session接口

会话, 用于发送和接收消息,表示一个单线程的上下文,允许用户创建消息,生产者发送消息,消费者接收消息

Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

Destination接口

一个包装了消息的对象,指明消息被发送的目的地以及客户端接收消息的来源。

Destination destination = session.createQueue("TEST.FOO1");

Message接口

一个在生产者与消费者之间的传送对象,也就是说从应用程序A传送到应用程序B。

TextMessage message = session.createTextMessage("hello world");

消息主要包含三部分:
消息头: 包含用于识别和为消息寻找路由的操作设置

消息属性: 包含额外的属性

消息体: 允许用户创建五种类型的消息(文本消息、映射消息、字节消息、流消息、对象消息)

结语

小编是一枚Java Coder,业余写文章,现主营微信公众号《Java患者》,喜欢的话关注我的公众号或者加我微信我们一起学习Java
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值