java消息服务(简称JMS)是用于访问企业消息系统的开发商中立的API。企业消息系统可以协助应用软件通过网络进行消息交互。
JMS的编程过程很简单,概括为:应用程序A发送一条消息到消息服务器的某个目的地(Destination),然后消息服务器把消息转发给应用程序B。因为应用程序A和应用程序B没有直接的代码关联,所以两者实现了解耦。
消息有下面几种类型,他们都是派生自Message接口。
StreamMessage:一种主体中包含Java基元值流的消息。其填充和读取均按顺序进行。
MapMessage:一种主体中包含一组名-值对的消息。没有定义条目顺序。
TestMessage:一种主体中包含Java字符串的消息。
ObjectMessage:一种主体中包含序列化Java对象的消息。
ByteMessage:一种主体中包含连续字节流的消息。
JMS支持两种消息传递模型:点对点(point-to-point,简称PTP)和发布/订阅(publish/subscribe,简称pub/sub)。这两种消息传递模型非常相似,但有以下区别:
PTP消息传递模型规定了一条消息只能传递给一个接收方。采用javax.jms.Queue表示。
Pub/sub消息传递模型允许一条消息传递给多个接收方。采用javax.jms.Topic表示。
这两种模型都通过扩展公用基类来实现。例如javax.jms.Queue和javax.jms.Topic都扩展自javax.jms.Destination类。
一、配置消息到达的目标地址,创建xml文件,文件名后缀必须是 -service.xml(例如 jsmMessage-service.xml)