最近项目用到了JMS ,因此找了些资料对JMS进行了一些了解:
Java Message Service 是由 Sun Microsystems 开发的,它为 Java 程序提供一种访问 企业消息系统 的方法。
企业消息系统:即 面向消息的中间件(MOM),提供了以松散耦合的灵活方式集成应用程序的一种机制。它们提供了基于 存储和转发 的应用程序之间的异步数据发送,即应用程序彼此不直接通信,而是与作为中介的 MOM 通信。
MOM 提供了有保证的消息发送(至少是在尽可能地做到这一点),应用程序开发人员无需了解远程过程调用(PRC)和网络/通信协议的细节。
如下图所示,应用程序 A 与应用程序 B 通过使用 MOM 的应用程序编程接口(API)发送消息进行通信。
MOM 将消息路由给应用程序 B,这样,消息就可以存在于完全不同的计算机上,MOM 负责处理网络通信。如果网络连接不可用, MOM 会存储消息,直到连接变得可用时,再将消息转发给应用程序 B。
灵活性的另一方面体现在,当应用程序 A 发送其消息时,应用程序 B 甚至可以不处于执行状态。MOM 将保留这个消息,直到应用程序 B 开始执行并试着检索消息为止。这还防止了应用程序 A 因为等待应用程序 B 检索消息而出现阻塞。
这种异步通信要求应用程序的设计与现在大多数应用程序不同,不过,对于时间无关或并行处理,它可能是一个极其有用的方法。
最初,开发企业消息系统是为了实现 点对点模型 (PTP),由一个应用程序生成的每个消息都由另一个应用程序接收。近年来,出现了一种新的模型,叫做 发布与订阅 (或者 pub/sub)。
Pub/sub 用称为 主题(topic) 的内容分层结构代替了 PTP 模型中的惟一目的地,发送应用程序 发布 自己的消息,指出消息描述的是有关分层结构中的一个主题的信息。
希望接收这些消息的应用程序 订阅了 这个主题。订阅包含子主题的分层结构中的主题的订阅者可以接收该主题和其子主题发表的所有消息。
下图展示了发布和订阅模型。
多个应用程序可以就一个主题发布和订阅消息,而应用程序对其他人仍然是匿名的。MOM 起着 代理(broker) 的作用,将一个主题已发表的消息路由给该主题的所有订阅者。
分享到:
相关推荐
Java Message Service 基础教程
java message service
JMS ,java message service 消息中间件开源项目幻灯片
Java Message Service (JMS)使用手册
JSR-000343 Java Message Service 2.0 javadocs for Evaluation.官网下载的,放在这里共享
java message service 第二版 非常不错的 JMS 资料
一篇深入的讲解了java message service技术的文档 ,希望对大家有所帮助
Java 语言的客户端和Java 语言的中间层服务必须能够使用这些消息系统。JMS 为Java 语言程序提供了一个通用的方式来获取这些系统。 JMS 是一个接口和相关语义的集合,那些语义定义了JMS 客户端如何获取企业消息产品 ...
《Java Message Service》 PDF英文版本下载
关于JMS的消息服务的代码,包括PTP和Pub/Sub,简单通俗 易懂。
JMS(Java Message Service)是访问企业消息系统的标准API,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。
Java Message Service 原文翻译的中文版,描述了JMS消息传递的规范
JSR-000343 Java Message Service 2.0 Specification for Evaluation.从官网下载的,在这里共享
Java Message Service 2nd Edition 的源代码
JMS (Java Message Service): Queue, Topic两种模式
JMS : Java Message Service (Java消息服务)1 引言 1.1 编写目的 1.2 名词解释