端提供了关键的服务。JMS API 没有指定这种客户端协同如何作为一个单独的统一
的服务出现。
z 错误/劝告通知(Error/Advisory Notification)——多数消息产品定义系统消息来向
客户端提供问题或系统事件的异步通知。JMS 没有试图标准化这些消息。通过遵循
由JMS 定义的指南,客户端可以避开这些消息,这样就可以防止由于使用这些消
息而引入的可移植性问题。
z 管理——JMS 没有定义管理消息产品的API 。
z 安全——JMS 没有定义用于控制消息私密性和完整性的API 。它也没有指定数字签
名或密钥如何被分发到客户端。安全是由 JMS 提供商要考虑的问题——由管理员
配置这些特有的特性,而不是由客户端使用JMS API 来控制。
z 通讯协议(Wire Protocal)——JMS 没有定义消息的通讯协议。
z 消息类型存储池——JMS 没有定义存储消息类型定义的存储池,也没有定义创建消
息类型定义的语言。
1。3 JMS 的要求是什么
在这个规范内讨论的功能都是对JMS 提供商的要求,除非它被显式的指出。
JMS 点对点功能的提供商不要求提供发布/订阅功能,反之亦然。
JMS 也可以用在J2EE 平台。参加章节1。4 ,“与其他Java API 的关系”来了解当JMS 被
集成到那种软件环境时对JMS 的附加要求。
1。4 与其他Java API 的关系
1。4。1 JDBC 软件
JMS 客户端也可以使用JDBC API 。他们可能希望在同一个事务内使用JDBC API 和JMS API 。
大多数情况下,通过将这些客户端实现为EJB 组件可以自动实现这个愿望。也可能直接使用
JTA 来实现这个愿望。
1。4。2 JavaBean 组件
JavaBean 组件可以使用JMS 会话来发送/接收消息。JMS 本身是一个API ,它定义的接口
没有打算直接作为JavaBean 组件来使用。
10 / 66
…………………………………………………………Page 11……………………………………………………………
1。4。3 EJB 组件模型
JMS API 是EJB 组件开发者可以获得的重要资源。它可以和类似JDBC 的资源一起使用来
实现企业服务。
EJB2。0 规范定义了通过来自EJB 客户端调用的方法被同步调用的bean。也定义了一种异
步bean,当一个JMS 客户端向他发送消息时它被调用,称为消息驱动bean。EJB 规范支持
同步和异步消息消费。另外,EJB2。0 指定JMS API 如何参与bean 管理的或容器管理的事务。
EJB2。0 规范限制了当实现EJB 客户端时如何使用JMS 接口。参考EJB2。0 规范来了解更详细的
内容。
1。4。4 Java 事务API (JTA )
Javax。transaction 包为划分分布式事务提供了客户端API ,并提供了获取要参与到分布式
事务中的资源的API 。
JMS 客户端可以使用JTA 来划分分布式事务;但是,这是运行客户端的事务环境的功能。
不是JMS 的功能。
JMS 提供商可以通过JTA 支持分布式事务,也可以不支持。
1。4。5 Java 事务服务(JTS )
JMS 可以和JTS 联合使用来组成分布式事务,这个分布式事务将消息的发送和接收与数
据更新及其他JTS 感知的服务结合起来。当JMS 客户端在应用服务器中(如EJB 服务器)被
运行时,分布式事务应当被自动处理;但是对JMS 客户端来说,显式的通过程序使用JTS 也
是可能的。
1。4。6 Java 命名和目录接口API (JNDI )
JMS 客户端使用JNDI API 查找已配置的JMS 对象。JMS 管理员使用提供商提供的工具来
创建和配置这些对象。
通过将特定提供商的工作代理给管理员最大化了客户端的可移植性。它也导致了更多的
可管理应用,因为客户端不需要将管理用的值嵌入到他们的代码中。
1。4。7 J2EE 平台
J2EE 平台规范(版本1。3)要求将JMS API 作为J2EE 平台的一部分。J2EE 平台规范对JMS
的实现提出了附加的要求,这些要求超出了 JMS 规范中描述的要求,包括既要支持点对点
域又要支持发布/订阅域。
11 / 66
…………………………………………………………Page 12……………………………………………………………
1。4。8 JMS 和EJB 组件的集成
J2EE 平台和 EJB 规范描述了要集成到J2EE 平台的JMS 提供商实现的附加要求。一个关
键的需求集是JMS 消息生产和JMS 消息消费如何与容器管理事务的事务需求进行交互。参
考这两个规范来来了解JMS 集成的所有要求。
JMS API 规范没有说明实现这些集成要求的模型。因此,不同的JMS 提供商实现可以使
用不同的方式来实现与J2EE 平台的集成,以及支持EJB 的要求。
将来,JMS 集成到J2EE 平台的集成点将用J2EE 连接器架构来提供。
1。5 JMS1。1 的新特性是什么?
在 JMS 的以前版本中,用于点对点和Pub/Sub 域的客户端编程都是类似的,但使用不
同的类层次。在JMS1。1 中,现在有一个不依赖域的方式来编写客户端应用。这有以下几个
好处:
z 对于客户端程序员,简化了编程模型。
z 提供了在同一事务中使用队列(Queue )和主题(topic )的能力,现在可以在同一
个会话内创建它们。
z 对于JMS 提供商,通过线程池管理增加了优化实现的机会。
为使用这些优点,JMS 客户端开发者需要使用不依赖域的或“通用”的API 。将来,某
些域专有的API 可能被废弃。
在 JMS1。1 中,所有来自JMS1。0。2b 的类和方法仍然被保留以提供向后的兼容性。两种
消息域的语义也被保留;PTP 域和Pub/Sub 域的行为仍然是相同的,正如在第5 章“JMS 点
对点模型”和第6 章“JMS 发布/订阅模型”描述的一样。
为了详细的了解本规范的变更情况,参见第11 章“变更历史”。
2 架构
2。1 概述
本章描述基于消息的应用的环境和JMS 在环境中扮演的角色。
2。2 什么是JMS 应用
JMS 应用由以下部分组成:
z JMS 客户端——发送和接收消息的Java 语言程序。
z 非JMS 客户端——使用消息系统的本地客户端API 而不是JMS 的API ,如果应用先
于JMS ,那么它很可能既包含JMS 又包含非JMS 客户端。
z 消息——每个应用定义一系列的消息,这些消息用于在客户端之间交换信息。
z JMS 提供商——它是一个消息系统,它实现了JMS 以及其他的完整消息产品所需要
的管理和控制功能。
12 / 66
…………………………………………………………Page 13……………………………………………………………
z 被管理的对象——被管理的对象是预先配置好的 JMS 对象,它由管理员为客户端
使用而创建。
2。3 管理
期望 JMS 提供商和它们的后台消息技术有大的区别。也期望在如何安装和管理提供商
的系统也有大的区别。
如果 JMS 客户端是可移植的,那么他们必须与提供商专有的方面隔离开来。通过定义
JMS 被管理的对象来做到隔离,这些对象由提供商的管理员创建和客户化,接下来由客户端
使用。通过 JMS ?
小说推荐
- php程序设计简明教程(DOC格式)
- -Page 1-PHP 程序设计简明教程PHP 讲义 第 1 页 共 90 页-Page 2-目录序 4第一章 PHP 简介 6
- 最新章:第31章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 最新章:第143章
- 软件工程实践者的思想(PDF格式)
- -Page 1-大 道 至 简—软件工程实践者的思想周爱民(Aimingoo 著-Page 2-序2004 年 11 月初爱民(Aimingoo)第一次把他的书稿给我,我翻看了一下,第一反应讲的是感想。这不错,在技
- 最新章:第26章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 最新章:第4章
- Java编程思想第4版[中文版](PDF格式)
- -Page 1-Page 2《Thinking In Java》中文版作者:Bruce Eckel主页:http/BruceEckel.编译:Trans Bot主页:http/memberease~transbot致谢-献给那些直到现在仍在孜孜不倦创造下一代计算机语言的人们!指导您利用万维网的语言进
- 最新章:第295章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 最新章:第37章
- asp基础实用教程(DOC格式)
- 目 录一、关于ASP二、ASP的新功能三、创建ASP页四、使用脚本语言五、使用变量和常量六、使用集合七、ASP内建对象八、向浏览器发送内容九、包含文件十、访问数据库十一、调试ASP脚本十二、维护ASP应用程序的安全一、关于ASP Active Server Pages(ASP)是服务器端脚本编写环境
- 最新章:第17章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 最新章:第27章
- oracle从入门到精通(PDF格式)
- -Page 1-Oracle 从入门到精通-Page 2-资源来自网络,仅供学习 Oracle 从入门到精通一、SQL 8
- 最新章:第37章