没有合适的资源?快使用搜索试试~ 我知道了~
ActiveMQ in Action翻译笔记2011.pdf
5星 · 超过95%的资源 需积分: 13 50 下载量 107 浏览量
2013-08-13
13:04:18
上传
评论
收藏 4.75MB PDF 举报
温馨提示
试读
165页
已有的 MOM 系统包括IBM 的MQSeries、Microsoft 的MSMQ 和BEA 的Mes sageQ 等。由于没有一个通用的标准,这些系统很难实现互操作和无缝连接。Java Message Service(JMS)是SUN 提出的旨在统一各种MOM 系统接口的规范, 它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。
资源推荐
资源详情
资源评论
Alisd Apache ActiveMQ 笔记
中国软件与技术服务股份有限公司 - I -
01689179
Apache ActiveMQ 笔记
当前产品版本号
v5.2
最初发布日期
最新修订日期
2010 年 3 月 2 日
审核者
邓建利
日期
批准者
Apache
日期
Alisd Apache ActiveMQ 笔记
- 2 -
译者序
Java 是当前IT 领域中比较流行的技术之一。J2EE 是当前比较流行的企业级应用架构。
本人一直致力于J2EE 架构的学习和研究,但是总是对英文文档有不可言语的恐惧。我想很
多J2EE 爱好者和我有同样的感觉。这样就影响了我们深入学习J2EE 原始规范的兴趣。但是
J2EE 原始的规范文档对我们深入理解J2EE 有很大的帮助,因为它阐述了规范的来龙去脉,
以及违反了规范会造成什么样的影响。了解了这些缘由和影响,会使我们对J2EE 架构有更
深层次的理解。这也是我做该笔记是该规范的动力所在。
邓建利【Alisd】
ActiveMQ 官方网站:http://activemq.apache.org
JMS 官方网站:http://java.sun.com/products/jms
第一章
.
概述
Alisd Apache ActiveMQ 笔记
- 3 -
背景
当前,CORBA、DCOM、RMI 等RPC 中间件技术已广泛应用于各个领域。
但是面对规模
和复杂度都越来越高的分布式系统,这些技术也显示出其局限性:(1)同步通信:
客
户发出调用后,必须等待服务对象完成处理并返回结果后才能继续执行;(2)客
户和
服务对象的生命周期紧密耦合:客户进程和服务对象进程都必须正常运行;如果
由于
服务对象崩溃或者网络故障导致客户的请求不可达,客户会接收到异常;(3)点
对点
通信:客户的一次调用只发送给某个单独的目标对象。
面向消息的中间件(Message Oriented Middleware,MOM)较好的解决了以
上问题。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,
在合
适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无
需等待;
二者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候
发送者
也不一定运行; 一对多通信:对于一个消息可以有多个接收者。
已有的 MOM 系统包括IBM 的MQSeries、Microsoft 的MSMQ 和BEA 的Mes
sageQ 等。由于没有一个通用的标准,这些系统很难实现互操作和无缝连接。Java
Message Service(JMS)是SUN 提出的旨在统一各种MOM 系统接口的规范,
它包含点对点(Point to Point,PTP)和发布/订阅(Publish/Subscribe,
pub/sub)两种消息模型,提供可靠消息传输、事务和消息过滤等机制。
1. 什么是消息中间件
面向消息的中间件:Message-oriented Middleware, MOM
基本功能:将信息以消息的形式,从一个应用程序传送到另一个或多个应用程序。
主要特点:
消息异步接受,类似手机短信的行为,消息发送者不需要等待消息接受者
的响应,减少软件多系统集成的耦合度;
消息可靠接收,确保消息在中间件可靠保存,只有接收方收到后才删除消
息,多个消息也可以组成原子事务。
Alisd Apache ActiveMQ 笔记
- 4 -
消息中间件的主要应用场景:
公司在发展过程中,开发(或者购买了)多套企业信息系统,比如财务系统,人
事系统,在线销售系统,运营系统等。
这些系统生产/消费公司的各种业务数据。
公司需要将这些系统集成(整合),比如让在线销售系统的订单数据输入到财务系
统中。
类似应用的一般系统需求是:
可靠传输,数据不能丢失,有的时候,也会要求不能重复传输;
异步传输,否则各个系统同步发送接受数据,互相等待,造成系统瓶颈。
公司可以为此开发自己的软件服务,代价会比较大,现在一般使用已经成型的
消
息中间件
。
目前比较知名的消息中间件:
IBM MQSeries
BEA WebLogic JMS Server
Oracle AQ
Tibco
SwiftMQ
AcitveMQ:是免费的 java 实现的消息中间件
什么是 JMS
JMS Java Message Service,Java消息服务。
Alisd Apache ActiveMQ 笔记
- 5 -
JMS 概述
1.1.1. JMS 规范
JAVA 消息服务(JMS)定义了Java 中访问消息中间件的接口。JMS 只是接口,
并没有给予实现,实现JMS 接口的消息中间件称为JMS Provider,例如
ActiveMQ。
1.1.2. 术语
JMS Provider:实现JMS 接口的消息中间件;
PTP:Point to Point,即点对点的消息模型;
Pub/Sub:Publish/Subscribe,即发布/订阅的消息模型;
Queue:队列目标;
Topic:主题目标;
ConnectionFactory:连接工厂,JMS 用它创建连接;
Connection:JMS 客户端到JMS Provider 的连接;
Destination:消息的目的地;
Session:会话,一个发送或接收消息的线程;
MessageProducer:由Session 对象创建的用来发送消息的对象;
MessageConsumer:由Session 对象创建的用来接收消息的对象;
Acknowledge:签收;
Transaction:事务。
1.1.3. JMS 编程模型
在 JMS 编程模型中,JMS 客户端(组件或应用程序)通过 JMS 消息服务交换
消息。
消息生产者将消息发送至消息服务,消息消费者则从消息服务接收这些消息。这
些消息
传送操作是使用一组实现 JMS 应用编程接口 (API) 的对象(由 JMS Provide 提
供)来
执行的。
在 JMS 编程模型中,JMS 客户端使用 ConnectionFactory 对象创建一个连接,
向
消息服务发送消息以及从消息服务接收消息均是通过此连接来进行。Connection
是客
户端与消息服务的活动连接。创建连接时,将分配通信资源以及验证客户端。这
是一个
相当重要的对象,大多数客户端均使用一个连接来进行所有的消息传送。
连接用于创建会话。Session 是一个用于生成和使用消息的单线程上下文。它用
于
创建发送的生产者和接收消息的消费者,并为所发送的消息定义发送顺序。会话
通过大
剩余164页未读,继续阅读
jacky68147527
- 粉丝: 12
- 资源: 69
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页