Sun Java System Message Queue 4.2 发行说明

Message Queue 4.2 中的文档更新

本部分包含有关 Message Queue 4.2 文档更新的信息:

兼容性问题

本部分包含有关 Message Queue 4.2 的兼容性问题。

接口稳定性

Sun Java System Message Queue 使用的许多接口可能会随着时间的变化而发生更改。《Sun Java System Message Queue 4.2 Administration Guide》中的附录 B “Stability of Message Queue Interfaces”根据稳定性对接口进行了分类。接口越稳定,在产品的后续版本中对其进行更改的可能性就越小。

与 Message Queue 的下一个主要发行版相关的问题

Message Queue 的下一个主要发行版可能引入一些更改,这些更改会使当前的 Message Queue 客户端应用程序与该发行版不兼容。提前提供此信息是为了使用户早做准备。

Message Queue 4.2 文档集中的更改

Message Queue 4.2 文档集包含对 Message Queue 4.1 文档集所做的更新,如下所述:

技术概述

更新了《Sun Java System Message Queue 4.2 Installation Guide》以反映 Message Queue 4.2 中的新增功能以及更新的高可用性代理群集框架。

管理指南

更新了管理指南以反映 Message Queue 4.2 中的新增功能。

安装和升级信息

尚未对《Sun Java System Message Queue 4.2 Installation Guide》进行更新以反映 Message Queue 4.2 中的新增功能,具体是指安装程序中新增的 Sun Connection 注册功能。此信息是在 Message Queue 发行说明中提供的。

适用于 Java 客户端的开发者指南

尚未对适用于 Java 客户端的开发者指南进行更新以反映 Message Queue 4.2 中的新增功能。此信息是在 Message Queue 发行说明中提供的。

适用于 C 客户端的开发者指南

尚未对适用于 C 客户端的开发者指南进行更新以反映 Message Queue 4.2 中的新增功能。此信息是在 Message Queue 发行说明中提供的。

适用于 JMX 客户端的开发者指南

尚未对适用于 JMX 客户端的开发者指南进行更新以反映 Message Queue 4.2 中的新增功能。此信息是在 Message Queue 发行说明中提供的。

新的目的地度量

Message Queue 4.2 包含新的目的地度量,可用于监视代理群集中的目的地。在代理群集中,目的地将传播到群集中的所有代理。不过,只有在消息生成方主代理的目标目的地具有活动使用方时,才会将生成的消息存储在该目的地中,然后将消息发送到群集中的另一个代理上的相应目的地。因此,存储在指定目的地中的消息取决于目的地所在的群集代理。

换句话说,在代理群集中,在给定群集代理上的给定目的地中存储的消息包括在该目的地中直接生成的消息以及从群集的远程代理发送到该目的地的消息。在分析代理群集中的消息路由选择和传送时,了解目的地中有多少消息是本地消息(在本地生成)以及多少消息是远程消息(在远程生成)有时是非常有用的。

下表显示了 Message Queue 4.2 中包含的两个新物理目的地度量数量。这两个新度量数量是通过 imqcmd list dstimqcmd query dst 命令以及新的 JMX 属性(请参见目的地监视 MBean)获得的。

表 1–10 物理目的地度量

度量数量 

描述 

是否有日志文件? 

metrics dst 度量类型

度量主题 

Num messages remote 

当前存储在内存和持久性存储库中的消息数,这些消息是在群集的远程代理中生成的。此数值不包括事务中包含的消息。 

否 

不可用 [可通过 imqcmd query dst 命令获得]

不可用 

Total message bytes remote 

当前存储在内存和持久性存储库中的消息的总大小(以字节为单位),这些消息是在群集的远程代理中生成的。此数值不包括事务中包含的消息。 

否 

不可用

不可用 

Solaris 10 OS 上的自动代理启动

本部分介绍了如何在 Solaris 10 操作系统上配置自动代理启动。以下过程使用 Solaris 10 服务管理工具 (Service Management Facility, SMF),而不是使用 rc 文件实现在计算机重新引导时自动启动代理。

有关使用服务管理工具的详细信息,请参阅 Solaris 10 文档。

Procedure在 Solaris 10 OS 上实现自动代理启动

  1. 将 mqbroker 服务导入到 SMF 系统信息库中。

    # svccfg import /var/svc/manifest/application/sun/mq/mqbroker.xml

  2. 检查 mqbroker 服务状态以验证是否成功导入。

    # svcs mqbroker

    其输出与以下内容类似:


    STATE STIME FMRI
    disabled 16:22:50 svc:/application/sun/mq/mqbroker:default

    该服务最初显示为已禁用。

  3. 启用 mqbroker 服务。

    # svcadm enable svc:/application/sun/mq/mqbroker:default

    启用 mqbroker 服务时,将启动 imqbrokerd 进程。重新引导操作将随后重新启动代理。

  4. 配置 mqbroker 服务,以将任何所需的参数传递给 imqbrokerd 命令。

    options/server_args 属性用于将参数传递给 imqbrokerd。例如,要添加 -loglevel DEBUGHIGH,请执行以下操作:


    # svccfg
    svc:> select svc:/application/sun/mq/mqbroker
    svc:/application/sun/mq/mqbroker> setprop options/server_args=\"-loglevel DEBUGHIGH\"
    svc:/application/sun/mq/mqbroker> exit

JMX API 更改

Message Queue 支持 Java Management Extensions (JMX) API,以便在 Message Queue 客户端应用程序中以编程方式来配置和监视代理函数。Message Queue 4.2 包含 JMX API 扩展以支持此发行版中的新增功能。对于以下 MBean,为其定义了新的 JMX 属性、操作和/或查找关键字:

使用方管理器监视 MBean

以下各表中的属性、操作和查找关键字支持为发布者或订阅者提供多个目的地中所述的功能。

在实用程序类 com.sun.messaging.jms.management.server.ConsumerAttributes 中,将以下属性的名称定义为静态常量。

表 1–11 使用方管理器监视属性

名称 

类型 

是否可设置? 

描述 

NumWildcardConsumers

Integer

否 

与代理关联的通配符消息使用方数 

在实用程序类 com.sun.messaging.jms.management.server.ConsumerOperations 中,将以下操作的名称定义为静态常量。

表 1–12 使用方管理器监视操作

名称 

参数 

结果类型 

描述 

getConsumerWildcards

无 

String[]

与代理关联的当前使用方使用的通配符字符串 

getNumWildcardConsumers

wildcard-String 

Integer

与代理关联且使用指定通配符字符串的当前使用方数 

在实用程序类 com.sun.messaging.jms.management.server.ConsumerInfo 中,将以下查找关键字定义为静态常量。

表 1–13 消息使用方信息的查找关键字

名称 

值类型 

描述 

DestinationNames

String[]

与通配符使用方使用的通配符匹配的目的地名称 

仅适用于主题目的地。 

Wildcard

Boolean

是否为通配符使用方? 

仅适用于主题目的地。 

目的地配置 MBean

下表中的属性支持XML 有效负荷消息的模式验证中所述的功能。

在实用程序类 com.sun.messaging.jms.management.server.DestinationAttributes 中,将以下属性的名称定义为静态常量。

表 1–14 目的地配置属性

名称 

类型 

是否可设置? 

描述 

ValidateXMLSchemaEnabled

Boolean

是 

是否启用 XML 模式验证? 

如果设置为 false 或未进行设置,则不会为目的地启用 XML 模式验证。

XMLSchemaURIList

String

是 

以空格分隔的 XML 模式文档 (XSD) URI 字符串列表 

这些 URI 指向用于 XML 模式验证(如果启用)的一个或多个 XSD 的位置。 

如果指定多个 URI,应使用双引号将该值引起来。 

示例: 

"http://foo/flap.xsd http://test.com/test.xsd"

如果未设置此属性或将其设置为 null,并且启用了 XML 验证,则使用在 XML 文档中指定的 DTD 来执行 XML 验证。 

ReloadXMLSchemaOnFailure

Boolean

是 

是否在失败时重新装入 XML 模式? 

如果设置为 false 或未进行设置,则不会在验证失败时重新装入该模式。 

目的地管理器配置 MBean

可以使用以上介绍的新目的地配置 MBean 属性(支持XML 有效负荷消息的模式验证中所述的新功能),通过目的地管理器配置 MBean 的 create 操作来创建目的地。

目的地监视 MBean

下表中的第一组属性支持为发布者或订阅者提供多个目的地中所述的功能;第二组属性支持新的目的地度量中所述的增强功能。

在实用程序类 com.sun.messaging.jms.management.server.DestinationAttributes 中,将以下属性的名称定义为静态常量。

表 1–15 目的地监视属性

名称 

类型 

是否可设置? 

描述 

NumWildcards

Integer

否 

当前与目的地关联的通配符消息生成方和通配符消息使用方数 

仅适用于主题目的地。 

NumWildcardProducers

Integer

否 

当前与目的地关联的通配符消息生成方数 

仅适用于主题目的地。 

NumWildcardConsumers

Integer

否 

当前与目的地关联的通配符消息使用方数 

仅适用于主题目的地。 

NumMsgsRemote

Long

否 

当前存储在内存和持久性存储库中的消息数,这些消息是在群集的远程代理中生成的。此数值不包括事务中包含的消息。 

TotalMsgBytesRemote

Long

否 

当前存储在内存和持久性存储库中的消息的总大小(以字节为单位),这些消息是在群集的远程代理中生成的。此数值不包括事务中包含的消息。 

下表中的操作支持为发布者或订阅者提供多个目的地中所述的功能。

在实用程序类 com.sun.messaging.jms.management.server.DestinationOperations 中,将以下操作的名称定义为静态常量。

表 1–16 目的地监视操作

名称 

参数 

结果类型 

描述 

getWildcards

无 

String[]

与目的地关联的当前使用方和生成方使用的通配符字符串 

仅适用于主题目的地。 

getConsumerWildcards

无 

String[]

与目的地关联的当前使用方使用的通配符字符串 

仅适用于主题目的地。 

getProducerWildcards

无 

String[]

与目的地关联的当前生成方使用的通配符字符串 

仅适用于主题目的地。 

getNumWildcardConsumers

wildcard-String 

Integer

与目的地关联且使用指定通配符字符串的当前使用方数 

仅适用于主题目的地。 

getNumWildcardProducers

wildcard-String 

Integer

与目的地关联且使用指定通配符字符串的当前生成方数 

仅适用于主题目的地。 

生成方管理器监视 MBean

以下各表中的属性、操作和查找关键字支持为发布者或订阅者提供多个目的地中所述的功能。

在实用程序类 com.sun.messaging.jms.management.server.ProducerAttributes 中,将以下属性的名称定义为静态常量。

表 1–17 生成方管理器监视属性

名称 

类型 

是否可设置? 

描述 

NumWildcardProducers

Integer

否 

与代理关联的通配符消息生成方数 

在实用程序类 com.sun.messaging.jms.management.server.ProducerOperations 中,将以下操作的名称定义为静态常量。

表 1–18 生成方管理器监视操作

名称 

参数 

结果类型 

描述 

getProducerWildcards

无 

String[]

与代理关联的当前生成方使用的通配符字符串 

getNumWildcardProducers

wildcard-String 

Integer

与代理关联且使用指定通配符字符串的当前生成方数 

在实用程序类 com.sun.messaging.jms.management.server.ProducerInfo 中,将以下查找关键字定义为静态常量。

表 1–19 消息生成方信息的查找关键字

名称 

值类型 

描述 

DestinationNames

String[]

与通配符生成方使用的通配符匹配的目的地名称 

仅适用于主题目的地。 

Wildcard

Boolean

是否为通配符生成方? 

仅适用于主题目的地。 

支持在客户端验证中使用 DN 用户名格式

Message Queue 4.2 支持在针对 LDAP 用户系统信息库的客户端连接验证中使用 DN 用户名格式。该支持涉及以下新代理属性(和值):

imq.user_repository.ldap.usrformat=dn

借助于此属性,代理可通过从 DN 用户名格式中提取以下属性所指定的属性值,针对 LDAP 用户系统信息库中的条目验证客户端用户:

imq.user_repository.ldap.uidattr

在执行访问控制操作时,代理将上述属性的值用作用户名。

例如,如果 imq.user_repository.ldap.uidattr=udi,并且客户端验证用户名格式为 udi=mquser,ou=People,dc=red,dc=sun,dc=com ,则将提取 "mquser" 以执行访问控制。

JAAS 验证增强功能

Message Queue 4.2 JAAS 验证支持通过 IP 地址以及用户名进行验证。