JMS2.0规范中文版

概述

JMS受管对象是那些包含JMS配置信息的对象,这些配置信息由JMS管理员创建,然后由客户端使用。它们让管理企业中的JMS应用变得具有可操行性。

虽然受管对象的接口不显式地依赖JNDI,但是JMS约定JMS客户端是通过使用JNDI在命名空间中查找而发现受管对象的。

管理员可以将受管对象放到命名空间的任何位置。JMS没有定义命名策略。 这种将JMS和管理区分开来的策略有几个好处:

  • 它对客户端隐藏了提供者特有的配置细节。
  • 它将JMS的管理信息抽象成容易被通用管理控制台组织和管理的Java对象。
  • 由于JNDI提供者会提供所有流行的命名服务,所以也就意味着JMS提供者提供受管对象的一个实现就可以在任何地方运行了。

受管对象不应该持有任何远程资源。它的查找不应该使用远程资源,除了那些JNDI自身使用的资源以外。

客户端应当把受管对象看作是本地Java对象。查找它们不应该有任何隐藏的副作用或意料之外的大量本地资源使用。

JMS定义了两类受管对象:Destination和ConnectionFactory。

JMS期望提供者为管理员提供在JNDI命名空间里创建和配置受管对象的工具。JMS提供者提供的受管对象的实现应该同时是javax.naming.Referenceable和java.io.Serializable 的,以便它们能够被存储在所有的JNDI命名上下文中。另外,JMS建议这些实现遵循JavaBean设计模式。