Sun Java System Message Queue 3.7 UR1 技术概述

受管理对象

JMS 规范创建了一个标准,该标准结合了现有 MOM 系统的许多元素,但并不包含所有的可能元素。相反,它试图设置一个可扩展的方案来兼顾不同元素之间的区别并适应将来的发展。JMS 的很多消息传送元素都需要各个提供者来定义和实现。其中包括负载平衡、标准错误消息、管理 API、安全性、底层线路协议以及消息存储库。下一节Message Queue:元素和功能将介绍 Message Queue 如何实现其中的很多元素及其如何扩展 JMS 规范。

JMS 未完整定义的两个消息传送元素是连接工厂和目的地。尽管这些元素是 JMS 编程模型中的基础元素,但在提供者定义和管理这些对象的方式上,存在许多现有的和预期的区别,以致于不可能也不值得创建一个公共的定义。因此,这两个对象通常使用管理工具来创建和配置,而不是以编程方式来创建。它们随后将存储在对象存储库中,JMS 客户端可以通过标准的 JNDI 查找功能来访问它们。

JMS 客户端不需要查找受管理的对象,它们可以通过编程的方式创建这些对象(随后这些对象存储在代理的内存中)。要快速建立原型,最方便的方法可能是以编程方式创建这些对象。但是,如果要在生产环境中部署,则在中心系统信息库中查找受管理对象会更便于控制和管理消息传送行为:

图 1–5 中所示,受管理对象的使用是基本 JMS 应用程序图中的最后一项关键技术。

图 1–5 JMS 应用程序的基本元素

使用受管理对象查找目的地的生成方和使用方。图采用文本进行说明。

图 1–5 显示消息生成方和消息使用方如何使用目的地受管理对象来访问对应于该对象的物理目的地。带编号的步骤是管理员和客户端应用程序在使用此机制发送和接收消息时需要执行的操作。

Procedure将受管理对象用作目的地

  1. 管理员在代理上创建一个物理目的地。

  2. 管理员创建目的地受管理对象,并通过指定所对应物理目的地的名称及其类型对其进行配置:队列或主题。

  3. 消息生成方使用 JNDI 查找调用查找目的地受管理对象。

  4. 消息生成方向目的地发送消息。

  5. 消息使用方查找应当从中获取消息的目的地受管理对象。

  6. 消息使用方从该目的地获取消息。

    连接工厂受管理对象的使用过程与此类似。管理员使用管理工具来创建和配置连接工厂受管理对象。客户端查找连接工厂对象并使用它来建立连接。

    尽管使用受管理对象会为消息传送过程添加几个步骤,但它也提高了消息传送应用程序的稳定性和可移植性。