Sun Java System Message Queue 4.1 发行说明

代理支持:与 JMX 有关的属性

为了支持 JMX API,添加了几个新的代理属性(请参见表 1–3)。无法使用 Message Queue 命令实用程序 (imqcmd) 从命令行设置这些属性。可以使用代理实用程序 (imqbrokerd) 的 -D 选项设置这些属性,也可以在代理的实例配置文件 (config.properties) 中手动编辑这些属性。此外,某些属性(imq.jmx.rmiregistry.startimq.jmx.rmiregistry.useimq.jmx.rmiregistry.port)还可以使用表 1–4 中所述的新代理实用程序选项进行设置。此表列出了每个选项,指定了选项类型,并描述了选项用途。

表 1–3 用于支持 JMX 的新代理属性

属性 

类型 

描述 

imq.jmx.rmiregistry.start

Boolean

指定在代理启动时是否启动 RMI 注册表。

如果为 true,代理将在 imq.jmx.rmiregistry.port 指定的端口上启动 RMI 注册表,并使用此注册表存储 JMX 连接器的 RMI 桩模块。请注意,在这种情况下将忽略 imq.jmx.rmiregistry.use 的值。

默认值:false

imq.jmx.rmiregistry.use

Boolean

指定是否使用外部 RMI 注册表。

仅当 imq.jmx.rmiregistry.startfalse 时适用。

如果为 true,代理将在 imq.jmx.rmiregistry.port 指定的端口上使用外部 RMI 注册表,以便存储 JMX 连接器的 RMI 桩模块。代理启动时外部 RMI 注册表必须已处于运行状态。

默认值:false

imq.jmx.rmiregistry.port

Integer

RMI 注册表的端口号

仅当 imq.jmx.rmiregistry.startimq.jmx.rmiregistry.use true 时适用。然后即可将 JMX 连接器配置为使用 RMI 注册表,方法是将此端口号添加到这些连接器的 JMX 服务 URL 的 URL 路径中。

默认值:1099

imq.jmx.connector.list

String

预配置的 JMX 连接器的名称,以逗号分隔。

默认值:jmxrmi,ssljmxrmi

imq.jmx.connector.activelist

String

代理启动时要激活的 JMX 连接器的名称,以逗号分隔。

默认值:jmxrmi

imq.jmx.connector.connectorName .urlpath

String

连接器 connectorName 的 JMX 服务 URL 的 urlPath 部分

当必须明确设置 JMX 服务 URL 路径时(例如使用共享的外部 RMI 注册表时),此选项会非常有用。

默认值:如果使用 RMI 注册表存储 JMX 连接器的 RMI 桩模块(即,如果 imq.jmx.registry.startimq.jmx.registry.usetrue):

   /jndi/rmi://brokerHost:rmiPort
      /brokerHost/brokerPort/connectorName

如果不使用 RMI 注册表(这是默认情况,imq.jmx.registry.startimq.jmx.registry.use 均为 false):

   /stub/rmiStub

其中 rmiStub 是 RMI 桩模块自身的编码和序列化表示

 

imq.jmx.connector.connectorName .useSSL

Boolean

指定连接器 connectorName 是否使用安全套接字层 (Secure Socket Layer, SSL)。

默认值:false

imq.jmx.connector.connectorName .brokerHostTrusted

Boolean

指定是否信任代理为连接器 connectorName 提供的任何证书。

仅当 imq.jmx.connector. connectorName.useSSLtrue 时适用。

如果为 false,Message Queue 客户端运行时环境将验证提供给它的所有证书。如果证书的签名者不在客户端的信任存储库中,验证将失败。

如果为 true,则会跳过证书验证。此选项可能非常有用,例如,在使用自签名证书进行软件测试时。

默认值:false

imq.jmx.connector.list 属性用于定义一组要在代理启动时创建的命名 JMX 连接器;imq.jmx.connector.activelist 用于指定要激活其中哪些连接器。每个命名的连接器都有其自身的一组属性:

imq.jmx.connector.connectorName .urlpath

imq.jmx.connector.connectorName .useSSL

imq.jmx.connector.connectorName .brokerHostTrusted

默认情况下,将创建两个 JMX 连接器,名称分别为 jmxrmissljmxrmi;前者被配置为不使用 SSL 加密 (imq.jmx.connector.jmxrmi.useSSL = false),后者则使用 SSL 加密 (imq.jmx.connector.ssljmxrmi.useSSL = true)。默认情况下,代理启动时只激活 jmxrmi 连接器;有关如何激活 ssljmxrmi 连接器以进行安全通信的信息,请参见针对 JMX 客户端的 SSL 支持

为了方便起见,还向命令行代理实用程序 (imqbrokerd) 中添加了新的选项(表 1–4),用于控制 RMI 注册表的使用、启动和端口。这些选项的用途和影响与表 1–3 中所述的等效代理属性相同。此表列出了每个选项,指定了选项的等效代理属性,并描述了选项用途。

表 1–4 用于支持 JMX 的新代理实用程序选项

选项 

等效代理属性 

描述 

-startRmiRegistry

imq.jmx.rmiregistry.start

指定在代理启动时是否启动 RMI 注册表。

-useRmiRegistry

imq.jmx.rmiregistry.use

指定是否使用外部 RMI 注册表。

-rmiRegistryPort

imq.jmx.rmiregistry.port

RMI 注册表的端口号

命令行命令实用程序 (imqcmd) 中添加了一个新的子命令(表 1–5),用于列出代理启动时创建并启动的 JMX 连接器的 JMX 服务 URL。不使用 Message Queue 简便类 AdminConnectionFactory 的 JMX 客户端需要使用此信息来获取 JMX 连接器;另外,通过通用的 JMX 浏览器(例如 Java 监视和管理控制台 jconsole),还可以使用此信息来管理或监视 Message Queue。

表 1–5 新的命令实用程序子命令

子命令 

描述 

list jmx

列出 JMX 连接器的 JMX 服务 URL