Sun GlassFish Message Queue 4.4 发行说明

Message Queue 4.0 的新增功能

Message Queue 4.0 是一个次要发行版,仅限于支持 Application Server 9 PE。它包含几个新增功能、一些增强功能以及错误修复程序。本部分包含此发行版中的新增功能的说明:


注意 – 注意 –

在版本 4.0 中进行了一些细微但可能会引起问题的更改,其中之一就是不再使用命令行选项来指定密码。因此,您必须按过时的密码选项中的所述将所有密码存储在一个文件中,或者在出现提示时输入密码。


JMX 管理 API 支持

Message Queue 4.0 中添加了一个符合 Java Management Extensions (JMX) 规范的新 API,用于配置和监视 Message Queue 代理。使用此 API,可以在 Java 应用程序中以编程方式来配置和监视代理函数。在 Message Queue 的早期版本中,只能从命令行管理实用程序或管理控制台访问这些函数。

有关详细信息,请参见《Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients》

客户端运行时环境日志记录

Message Queue 4.0 新增了对客户端在运行时记录连接以及会话相关事件的支持。

有关客户端运行时日志记录以及如何对其进行配置的信息,请参见 Java Dev Guide 的第 137 页。

连接事件通知 API

Message Queue 4.0 新增了一个事件通知 API,它允许客户端运行时环境通知应用程序连接状态更改。连接事件通知允许 Message Queue 客户端侦听关闭和重新连接事件,并根据通知类型和连接状态采取适当的操作。例如,如果发生故障转移,并且客户端重新连接到了其他代理,则应用程序可能希望清除事务状态,并继续执行新事务。

有关连接事件以及如何创建事件侦听器的信息,请参见 Java Dev Guide 的第 96 页。

代理管理增强功能

在 Message Queue 4.0 的命令实用程序 (imqcmd) 中添加了一个新的子命令和几个命令选项,以允许管理员停止代理、在指定时间间隔后关闭代理、销毁连接或设置 Java 系统属性(例如,与连接相关的属性)。

有关 imqcmd 命令语法的完整信息,请参见《Sun GlassFish Message Queue 4.4 Administration Guide》中的第 16  章 “Command Line Reference”

显示有关基于 JDBC 的数据存储库的信息

Message Queue 4.0 的数据库管理器实用程序 imqdbmgr 中添加了一个新的 query 子命令。使用此子命令可显示有关基于 JDBC 的数据存储库的信息,其中包括数据库版本、数据库用户以及是否已创建数据库表。

以下是此命令所显示的信息的示例。


imqdbmgr query

[04/Oct/2005:15:30:20 PDT] Using plugged-in persistent store:
        version=400
        brokerid=Mozart1756
        database connection url=jdbc:oracle:thin:@Xhome:1521:mqdb
        database user=scott
Running in standalone mode.
Database tables have already been created.

JDBC 提供者支持

Message Queue 4.0 现在支持将 Apache Derby 版本 10.1.1 作为基于 JDBC 的数据存储库提供者。

持久性数据存储库格式更改

Message Queue 4.0 新增了对基于 JDBC 的数据存储库的更改,以便进行优化并支持以后的增强功能。为此,将基于 JDBC 的数据存储库格式提高到了版本 400。请注意,在 Message Queue 4.0 中,基于文件的数据存储库版本将保持为 370,因为没有对其进行任何更改。

其他消息属性

Message Queue 4.0 添加了两个新属性,它们是在位于停用消息队列中的所有消息上设置的。

SSL 支持

从 Message Queue 4.0 开始,客户端连接工厂属性 imqSSLIsHostTrusted 的默认值为 false。如果应用程序依赖于以前的默认值 true,则需要对此属性进行重新配置,以将其明确设置为 true

将代理配置为使用自签名证书时,您可以选择信任主机。在这种情况下,除了指定连接应使用基于 SSL 的连接服务(通过 imqConnectionType 属性)外,还应该将 imqSSLIsHostTrusted 属性设置为 true。

例如,要在代理使用自签名证书时安全地运行客户端应用程序,请使用如下命令。

java -DimqConnectionType=TLS 
      -DimqSSLIsHostTrusted=true ClientAppName

要在代理使用自签名证书时安全地使用命令实用程序 (imqcmd) ,请使用如下命令(用于列出连接器服务)。

imqcmd list svc -secure -DimqSSLIsHostTrusted=true