面向消息的中间件(MOM)的代表JMS
来源:互联网 发布:windows抄袭mac字体 编辑:程序博客网 时间:2024/04/30 13:28
当前,CORBA、DCOM、RMI等RPC中间件技术已广泛应用于各个领域。但是面对规模和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:客户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客户和服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果由于服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;(3)点对点通信:客户的一次调用只发送给某个单独的目标对象。
面向消息的中间件(Message Oriented Middleware,MOM)较好的解决了以上问题。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;一对多通信:对于一个消息可以有多个接收者。
已有的MOM系统包括IBM的MQSeries、Microsoft的MSMQ和BEA的MessageQ等。由于没有一个通用的标准,这些系统很难实现互操作和无缝连接。Java Message Service(JMS)是SUN提出的旨在统一各种MOM系统接口的规范,它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。
1.JMS
JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。JMS 只是接口,并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,iLink实现了JMS接口,用户可以通过使用JMS接口,在iLink中进行JMS编程。 iLink支持JMS1.0.2版本。
2.JMS接口描述
JMS 支持两种消息类型PTP 和Pub/Sub,分别称作:PTP Domain 和Pub/Sub Domain,这两种接口都继承统一的JMS父接口。
3.JMS消息模型
JMS 消息由以下几部分组成:消息头,属性,消息体。
消息头中定义好的标准属性外,JMS 提供一种机制增加新属性到消息头中,这种新属性包含以下几种:1. 应用需要用到的属性;
2. 消息头中原有的一些可选属性;
3. JMS Provider 需要用到的属性。
4. 消息的同步异步接收消息的同步接收是指客户端主动去接收消息,JMS 客户端可以采用MessageConsumer 的receive方法去接收下一个消息。消息的异步接收是指当消息到达时,主动通知客户端。JMS 客户端可以通过注册一个实 现MessageListener 接口的对象到MessageConsumer,这样,每当消息到达时,JMS Provider 会调用MessageListener中的onMessage 方法。
5. PTP模型
PTP(Point-to-Point)模型是基于队列的,发送方发消息到队列,接收方从队列接收消息,队列的存在使得消息的异步传输成为可能。和邮件系统中的邮箱一样,队列可以包含各种消息,JMS Provider 提供工具管理队列的创建、删除。JMS PTP 模型定义了客户端如何向队列发送消息,从队列接收消息,浏览队列中的消息。发布和订阅消息,这些节点被称作主题(topic)。主题可以被认为是消息的传输中介,发布者(publisher)发布消息到主题,订阅者(subscribe) 从主题订阅消息。主题使得消息订阅者和消息发布者保持互相独立,不需要接触即可保证消息的传送。
- 面向消息的中间件(MOM)的代表JMS
- 面向消息的中间件(MOM)的代表JMS
- 面向消息的中间件MOM
- ActiveMQ In Action 第二章 理解面向对象的中间件(MOM)和JMS 2.2 什么是面向消息的中间件及2.3 什么是java消息服务(JMS)
- 面向消息的中间件 (Message-Oriented Middleware, MOM)
- ActiveMQ In Action 第二章 理解面向对象的中间件(MOM)和JMS 前言及2.1 介绍企业消息传递
- ActiveMQ In Action 第二章 理解面向对象的中间件(MOM)和JMS 2.4 JMS规范
- 理解面向消息的中间件和JMS
- MOM的架构 JMS消息模型
- 浅谈jms之中间件(mom)activeMQ的安装和部署
- 中间件 —— 消息中间件(MOM)
- activemq in action 第二章:理解面向消息的中间件和JMS (第一部分)
- 面向消息的中间件
- MOM:消息中间件
- 基于Neety的高性能中间件Mom
- 消息中间件规范JMS 2.0的十大改进
- zz消息中间件规范JMS 2.0的十大改进
- 消息中间件规范JMS 2.0的十大改进
- INNO安装卸载自动结束进程插件使用
- android xml资源文件
- 类型?的意义
- 20110510 Brew工程师培训笔记——第二十章 ILicense 简介
- 另一篇比较好的讲述classloader的文章[转载]
- 面向消息的中间件(MOM)的代表JMS
- 基于VHDL的扫频信号产生电路设计
- mysql 语句大全(很实用的哦!)
- MAC内核编程指南-综述等
- QT libvlc sdk开发备忘录
- 求a^x展开的欧拉方法(基本分析结构)
- 嵌入式程序员应知道的0x10个基本问题
- 标准库类型(vector 、string、 bitset类型)
- 高斯平滑 高斯模糊 高斯滤波器 ( Gaussian Smoothing, Gaussian Blur, Gaussian Filter )