JMS详解

前言

学习这个的时候让我想起来关于带你电话的事情,当我们当电话的时候我们根本不用关系网络的问题,手机已经为我们做了完全的准备,包括我们现在的微信通话也是这样,我们还可以进行成组的视频或者通话,其实JMS的机制是一样的。


What JMS

JMS是java消息服务(java message Service)应用程序接口,是一个关于java平台中用于消息的一个中间件(表示及时通信的软件)API,用于在两个应用程序之间,或分布式系统中发送消息,还可以进行异步通信,java消息的服务是与java平台无关的一个API,并且有绝大部分的提供商都对Jms提供了支持


结构

消息属于jms中一种类型的对象,他由两部分组成1报头,2消息主体
报头主要是由路由信息以及 有关该消息的元数据组成
消息主体:携带者英语程序的数据或有效负载,根据有效对象负载类型来划分,可以分为简单文本Textmessage,可序化的对象ObjectMessage,属性集合MapMessage 字节流ByteMessage,原始值流StreamMessage,还有无效负载的消息(Message)

JMS详解


JMS详解


How JMS

我们是通过MOM面向消息的中间讲来实现一种松耦合的机制,他提供了基于存储和转发应用程序之间的异步数据发送,我们之间是不直接通信的,而是通过MOM进行通信
JMS详解


当A与B进行通信的时候,我们让中间默默也就是queue进行发送消息通信,MOM将把消息给应用程序B这个时候我们不需要管任何网络上的问题,mom帮助我们网络通信,如果我们的网突然断了,那么mom会自动的帮助我们保存,他的灵活出也就是体现在这里,不管B程序是什么状态。我们都可以实现


jms两种消息机制
1点对点(P2P),其实就是一端对应于一端,主要跟另一个端对应,则就不可以再去找另一端了
2发布订阅(Pub/Sub):发布和订阅传递信息类型与主题Topic有关。生产者发布消息而消费者可以订阅感兴趣的消息,这样生成这与消费者就在同意主题里面,


总结

发现每当我们应用生活的时候就会感觉超级简单,微信视频这个例子不错,嘿嘿