什么是JMS

JMS(Java Messaging Service) 是 Java 平台上有关面向消息中间件的技术规范,它便于消息系统中的 Java 应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。

JMS 本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于JDBC(java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。

许多厂商目前都支持 JMS,包括 IBM 的 MQSeries BEA 的 Weblogic JMS service和Progress SonicMQ,这只是几个例子。

JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。

JMS 定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。

  • TextMessage–一个字符串对象
  • MapMessage–一套名称-值对
  • ObjectMessage–一个序列化的 Java 对象
  • BytesMessage–一个字节的数据流
  • StreamMessage – Java 原始值的数据流

JMS 消息传递类型

对于消息的传递有两种类型:一种是点对点的,即一个生产者和一个消费者一一对应;
50分布式电商项目 - JMS_# 分布式电商

另一种是发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。
50分布式电商项目 - JMS_# 分布式电商_02