Sun Java System Message Queue 4.0 发行说明

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

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

表 1–2 用于支持 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 支持

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

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

选项 

等效代理属性 

描述 

-startRmiRegistry

imq.jmx.rmiregistry.start

代理启动时是否启动 RMI 注册表?

-useRmiRegistry

imq.jmx.rmiregistry.use

是否使用外部 RMI 注册表?

-rmiRegistryPort

imq.jmx.rmiregistry.port

RMI 注册表的端口号

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

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

子命令 

描述 

list jmx

列出 JMX 连接器的 JMX 服务 URL