Java消息服务(Java message service)
Java消息服务 简称JMS 是用于访问企业消息系统的开发商中立API。企业消息系统
可以协助应用软件通过网络进行消息交互。
JMS的编程过程很简单,概括为:应用程序A发送一条信息到消息服务器的某个目的地
destination ,然后消息服务器把消息转发给应用程序B,因为应用程序A和应用程序B没有直接
的代码关联,所以两者实现了解耦
消息传递系统的中心就是消息。一条message 由三个部分组成:
头 header,属性 property 和主体 body
消息有下面几种类型,他们都是派生自message接口。
StreamMessage :一种主体中包含Java基元值流的消息。其填充和读取均按顺序进行。
MapMessage :一种主体中包含一组名 值对的消息。没有定义条目顺序。
TextMessage:一种主体中包含Java字符串的消息 例如 xml消息
ObjectMessage一种主题中包含序列化Java对象的消息。
ByteMessage :一种主题中包含连续字节流的消息。
jms 主要有2种消息类型
jms支持两种消息传递模型
1 点对点 (point-to-point 简称PTP) queue
2 发布者/订阅者 (publish/subscribe 简称pub/sub) topic
PTP消息传递模型规定了一条消息只能传递给一个接收方。采用javax.jms.Queue表示。
Pub/sub消息传递模型允许一条消息传递给多个接受方。采用javax.jms.Topic表示
这两种模型都通过扩展公用基类来实现。例如 javax.jms.Queue 和javax.jms.Topic
都扩展自javax.jms.Destination类。