Java消息传递规范 ~ JMS

2018-11-12  本文已影响6人  帅可儿妞

Java提供的用来模块之间消息通讯的一组接口成为JMS,即Java Message Service;存在于JDK中;

一、JMS简介

  1. JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JMS 客户机发送消息。
  2. JMS本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(Java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。
  3. 厂商对JMS的支持:
    • IBM 的 MQSeries
    • BEA的 Weblogic JMS service
    • Progress 的 SonicMQ
    • ……
  4. 消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。
  5. JMS 定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
    • TextMessage:一个字符串对象;
    • MapMessage:一套名称-值对;
    • ObjectMessage:一个序列化的 Java 对象,这个类必须实现Serializable接口;
    • BytesMessage:一个字节的数据流;
    • StreamMessage:Java 原始值的数据流,也是键值对的形式,但是取值的时候必须按照存储的顺序取值;

二、JMS消息传递类型

  1. PTP:点对点的,即一个生产者和一个消费者一一对应;
  2. Pub/Sub:发布/ 订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收;
上一篇下一篇

猜你喜欢

热点阅读