JMS 被管理的对象来做到隔离,这些对象由提供商的管理员创建和客户化,接下来由客户端
使用。通过 JMS 接口来使用它们的客户端是可移植的。管理员使用提供商专有的工具来创
建它们。
有两种类型的JMS 被管理对象:
z ConnectionFactory——这个对象用于客户端来创建和提供商的连接。
z Destination——这个对象用于客户端来指定发送消息的目的地,也是接收消息的来
源。
被管理对象被管理员放置在JNDI 命名空间。JMS 客户端通常在它的文档中注上它要求
的JMS 被管理对象和这些对象的JNDI 名字应当如何提供给它。
图2? 解释了JMS 管理如何工作。
图2? JMS 管理
2。4 两种消息风格
JMS 应用既可以使用PTP 风格又可以使用Pub/Sub 消息风格,在后面的章节中会有更详
细的描述。应用也可以将两种风格组合到一个应用中。消息的这两种风格常被称为消息域。
JMS 提供了这两种消息域,因为它们代表了两种通用的消息模型。
当使用JMS API 时,开发人员可以使用两种消息模型的接口和方法。当使用接口时,消
息系统的行为可能会稍有不同,因为两种消息域有不同的语义。这些语义的差别在第 5 章
“JMS 点对点模型”和第6 章“JMS 发布/订阅模型”中描述。
13 / 66
…………………………………………………………Page 14……………………………………………………………
2。5 JMS 接口
JMS 基于一系列通用的消息概念。每个JMS 消息域—PTP 和Pub/Sub—也为这些概念定
义了各自的接口集。
表2? PTP 和Pub/Sub 接口的关系
JMS 公共接口 PTP 专有接口 Pub/Sub 专有接口
ConnectionFactory QueueConnectionFactory TopicConnectionFactory
Connection QueueConnection TopicConnection
Destination Queue Topic
Session QueueSession TopicSession
MessageProducer QueueSender TopicPublisher
MessageConsumer QueueReceiver , TopicConsumer
QueueBrowser
JMS 通用接口提供了一个独立于PTP 和Pub/Sub 消息域的域视图。鼓励JMS 客户端程序
员使用这些接口来创建他们的客户端程序。
下面列出了这些JMS 概念的简要定义。参见第4 章“JMS 通用工具”来详细了解这些
概念。
对于两种消息域的差别的详细内容,参见第5 章“JMS 点对点模型”和第6 章“JMS 发
布/订阅模型”。
z ConnectionFactory——客户端使用这个被管理对象来创建一个Connection 。
z Connection——一个到JMS 提高商的活动连接。
z Destination——封装了消息目的地标识的被管理对象。
z Session——一个用于发送和接收消息的单线程上下文。
z MessageProducer——一个由Session 创建用于往目的地发送消息的对象。
z MessageConsumer——一个由Session 创建用于接收发送到目的地的消息的对象。
图2? JMS 对象间关系概览
在这个文档中使用的术语“消费”是指通过JMS 客户端接收消息;也就是说,一个JMS
提供商已经收到一个消息并将它给了它的客户端。由于 JMS 支持同步和异步接收消息,因
14 / 66
…………………………………………………………Page 15……………………………………………………………
此术语“消费”在不需要区分它们的时候使用。
术语“生产”用作发送消息的最通用的术语。它指给予 JMS 提供商一个消息以转发到
一个目的地。
2。6 开发一个JMS 应用
广义的讲,一个JMS 应用是一个或多个交换消息的JMS 客户端。应用也涉及非JMS 客
户端;但是,这些非JMS 客户端使用JMS 提供商的本地API 而不是JMS 的API 。
一个JMS 应用可以被架构和部署为一个单元。在许多情况下,JMS 客户端是被逐渐增加
到线程的应用中的。
应用使用的消息定义可以来源于JMS ,或者他们可能已经由应用的非JMS 部分定义了。
2。6。1 开发一个JMS 客户端
典型的JMS 客户端执行下面的JMS 设置过程:
z 使用JNDI 来发现ConnectionFactory 对象。
z 使用JNDI 来发现一个或多个Desitination 对象。
z 使用ConnectionFactory 来创建一个具有消息转发约束的JMS Connection 。
z 使用Connection 来创建一个或多个JMS Session 。
z 使用Session 和Destination 来创建需要的MessageProducer 和MessageConsumer。
z 告诉Connection 开始转发消息。
此时,客户端有了生产和消费消息的基本的JMS 设置。
2。7 安全
JMS 没有提供控制或配置消息完整或消息私密的特性。
这期望由 JMS 提供商来提供。也期望由提供商专有的管理工具来配置这些服务。客户
端将得到正确的安全配置作为他们使用的被管理对象的一部分。
2。8 多线程
JMS 已经要求它的所有对象都支持并发誓要。由于支持并非访问通常会增加一些成本和
复杂性,所以 JMS 限制了那些很自然要被多线程客户端并发访问的对象的要求。其他的都
被设计成在一个时间只能被一个逻辑线程访问。
表2? 支持并发使用的JMS 对象
JMS 对象 支持并非使用
Destination YES
ConnectionFactory YES
Connection YES
Session NO
MessageProducer NO
15 / 66
…………………………………………………………Page 16……………………………………………………………
MessageConsumer NO
JMS 定义了一些特殊的规则来限制Session 的并发使用。由于他们要求比在这里呈现的
更多的JMS 知识,所以他们将在后面描述。这里我们将描述他们必须遵守的基本原理。
有两个原因要限制并发访问Session 。第一个,Session 是支持事务的JMS 实体。实现多
线程的事务是非常困难的。第二,Session 支持异步的消费消息
小说推荐
- 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章