Sun GlassFish Message Queue 4.4 发行说明

第 1 章 发行说明

版本 4.4

文件号码 821-0894

本发行说明包含 Sun GlassFish Message Queue 4.4 发行时可用的重要信息。介绍了新增功能和增强功能、已知问题和限制以及其他信息。开始使用 Message Queue 4.4 之前,请先阅读本文档。

本发行说明还包含有关 Message Queue 4.3、4.2、4.1 和 4.0 发行版的信息。例如,有关这些发行版中新增功能的信息,可分别参见Message Queue 4.2 的新增功能Message Queue 4.1 的新增功能Message Queue 4.0 的新增功能

本发行说明的最新版本可以在 Sun GlassFish Message Queue 文档 Web 站点 (http://docs.sun.com/coll/1307.7) 找到。在安装和设置软件之前,请先查看此 Web 站点上的相关信息,并在以后定期查看最新的发行说明和产品文档。

本发行说明包含以下部分:

本文档引用了第三方 URL 以提供其他相关信息。

Sun 对本文档中提到的第三方 Web 站点的可用性不承担任何责任。对于此类站点或资源中的(或通过它们获得的)任何内容、广告、产品或其他资料,Sun 并不表示认可,也不承担任何责任。对于因使用或依靠此类站点或资源中的(或通过它们获得的)任何内容、产品或服务而造成的或连带产生的实际或名义损坏或损失,Sun 概不负责,也不承担任何责任。

发行说明修订历史记录

下表列出了 Message Queue 产品的所有 4.x 发行版的发行日期,并描述了此文档中与每个发行版关联的更改。

表 1–1 修订历史记录

日期 

更改描述 

2009 年 10 月 

此文档针对 Message Queue 4.4 发行版。添加了该发行版的新增功能。 

2009 年 5 月 

此文档针对 Message Queue 4.4 Beta 的初始发行版。添加了该发行版的新增功能。 

2008 年 12 月 

此文档针对 Message Queue 4.3 发行版。添加了该发行版的新增功能。 

2008 年 8 月 

此文档针对 Message Queue 4.2 发行版。添加了该发行版的新增功能。 

2007 年 9 月 

此文档针对 Message Queue 4.1 的第三个发行版。增加了 Java Enterprise System 监视框架、固定 C 端口、错误修复程序以及其他功能的支持说明。 

2007 年 4 月 

此文档针对 Message Queue 4.1 Beta 的第二个发行版。增加了高可用性功能。 

2007 年 1 月 

此文档针对 Message Queue 4.1 Beta 的初始发行版。增加了 JAAS 支持说明。 

2006 年 5 月 

此文档针对 Message Queue 4.0 的初始发行版。 

关于 Message Queue 4.4

Sun GlassFish Message Queue 是一种功能全面的消息服务,提供符合 Java Messaging Specification (JMS) 1.1 的可靠的异步消息传送功能。此外,Message Queue 还提供 JMS 规范之外的许多功能,以满足大型企业部署的需要。

为了参与 Sun GlassFish Application Server 2.1.1 的发行,创建了 Message Queue 4.4 次要发行版。因此,未提供可单独下载并安装的 Message Queue 4.4 发行版。

Message Queue 4.4 支持的平台和组件

本部分介绍了以下有关 Message Queue 4.4 系统要求的主题:

操作系统平台支持

Solaris、Linux、Windows 和 AIX 操作系统平台均支持 Message Queue 4.4。表 1–2 显示了支持的各个平台版本。有关每个平台的硬件要求,请参见《Sun GlassFish Message Queue 4.4 Installation Guide》

表 1–2 支持的平台版本

平台 

支持的版本 

Solaris 

Solaris 9 (SunOS 5.9) 及所有更新(SPARC、x86)

Solaris 10 (SunOS 5.10) 及所有更新(SPARC、x86、x64)

Linux 

Red Hat Enterprise Linux Advanced Server 3.0、4.0、5.0 及所有更新,32 位和 64 位版本(x86、x64)

Red Hat Enterprise Linux Enterprise Server 3.0、4.0、5.0 及所有更新,32 位和 64 位版本(x86、x64)

AIX 

AIX 6.1 

Windows 

Windows Vista 

Windows XP Professional SP2 (x86) [不支持 Home、Tablet PC 或 Media Center Edition]

Windows 2000 Advanced Server SP4 (x86) [不支持 Professional Edition 或 Server Edition]

Windows Server 2003 Standard Edition 和 Enterprise Edition SP2,32 位和 64 位版本(x86、x64) [不支持 Web Edition 或 Small Business Server Edition]

Windows Server 2008 Standard Edition 和 Enterprise Edition SP2,32 位和 64 位版本(x86、x64)

系统虚拟化支持

系统虚拟化是一项允许多个操作系统 (Operating System, OS) 实例在共享硬件上独立执行的技术。在功能方面,部署到在虚拟化环境中托管的 OS 的软件通常不知道基础平台已被虚拟化。Sun 在所选择的系统虚拟化和 OS 组合上执行其 Sun Java System 产品的测试,以帮助验证 Sun Java System 产品是否能够继续在正确调整大小及配置的虚拟化环境中如在非虚拟化环境中一样运行。有关 Sun 在虚拟化环境中提供的 Sun Java System 产品支持的信息,请参见 http://download.oracle.com/820-4651

组件相关性

除了特定于平台的要求以外,Message Queue 4.4 还依赖于某些基本组件,必须安装这些组件才能开发和运行 Message Queue 客户端。表 1–3 介绍了这些组件。此外,也可以使用其他版本或供应商实现,但由于它们未经 Sun Microsystems 测试,因此不能获得正式支持。


注 –

在适用于 Solaris、Linux 和 Windows 平台的 Message Queue 安装程序中,您可以选择现有 JDK/JRE 或安装 JDK 版本 (1.5.0_15)。


表 1–3 所需的支持组件

组件 

支持 

支持的版本 [仅限 Sun Microsystems 产品版本]

Java Runtime Environment (JRE)

Message Queue 代理和管理工具 

J2SETM Runtime Environment 1.5.0_15 或更高版本

JavaTM SE Runtime Environment 1.6.0_10

Java Software Development Kit (JDK) Standard Edition

Java 客户端开发和部署 

J2SE Development Kit 1.5.0_15 或更高版本 

Java SE Development Kit 1.6.0_10

表 1–4 显示了一些额外的组件,可以安装这些组件以便为 Message Queue 客户端提供其他支持。您可能不需要列出的所有组件:例如,如果不编写 C 客户端,则将不需要 C 编译器、C++ 运行时库、NSPR 或 NSS。

表 1–4 可选的支持组件

组件 

支持 

支持的版本 

应用服务器 

HTTP/HTTPS

Sun GlassFish Application Server Enterprise Edition 版本 9.1.1 (GlassFish Enterprise Server 2.1) 

Web 服务器 

HTTP/HTTPS

Sun GlassFish Web Server Enterprise Edition 版本 7.0 Update 3 

数据库 

基于 JDBC 的数据存储库 

HADB 版本 4.4.3–6

Java DB (Apache Derby) 版本 10.4

MySQL Community/Enterprise Edition 版本 5.0 

Oracle 9i、10g 和 11g 

postgreSQL 版本 8.1 


注 –

不再支持 PointBase 数据库。


高可用性数据库 

高可用性代理群集 

HADB 版本 4.4.3–6

MySQL Cluster Edition 版本 5.0 

Oracle 10g 和 11g 

轻量目录访问协议 (Lightweight Directory Access Protocol, LDAP) 目录服务器

Message Queue 用户系统信息库和受管理对象 

Sun GlassFish Directory Server 版本 6.0 

Java 命名和目录接口 (Java Naming and Directory Interface, JNDI)

受管理对象支持和 LDAP 用户系统信息库

JNDI 版本 1.2.1

LDAP Service Provider 版本 1.2.2

File System Service Provider 版本 1.2 Beta 3 [仅提供受管理对象支持;支持进行开发和测试,但不支持在生产环境中进行部署]

C 编译器和兼容 C++ 运行时库 

Message Queue C 客户端 

Solaris:Sun Studio 版本 11 或更高版本、C++ 编译器(使用标准模式)和 C 编译器

Linux:gcc/g++ 版本 3.2.3

Windows:Microsoft Windows Visual C++ 版本 6.0 SP3

Netscape Portable Runtime (NSPR)

Message Queue C 客户端 

版本 4.7 [作为共享软件包捆绑在下载包中]

Network Security Services (NSS)

Message Queue C 客户端 

版本 3.11.9

Message Queue 4.4 和较新发行版的新增功能

以下各部分介绍了 Message Queue 4.4 以及 Message Queue 4.x 系列中以前发行版的新增功能:

Message Queue 4.4 的新增功能

Message Queue 4.4 是一个次要发行版,其中包含很多增强功能以及错误修复程序。本部分介绍了此发行版中包含的新增功能:

JMS 桥接器服务

由于 JMS 规范没有为代理和客户端之间的通信定义有线通信协议,因此每个 JMS 提供者(包括 Message Queue)都定义并使用了自己的专有协议。这种情况导致无法在 JMS 提供者之间进行互操作。

Message Queue 4.4 中的 JMS 桥接器服务允许 Message Queue 代理将其目的地映射到外部 JMS 提供者中的目的地,从而弥补了该缺陷。此映射可有效地使 Message Queue 代理与外部 JMS 提供者的客户端进行通信。

JMS 桥接器服务支持映射满足下列条件的外部 JMS 提供者中的目的地:

许多开源和商业 JMS 提供者都满足这些要求,从而使 JMS 桥接器服务能有效地将 Message Queue 集成到使用其他 JMS 提供者的现有消息传送环境中。

有关 JMS 桥接器服务的详细信息,请参见:

STOMP 桥接器服务

如前面所述,JMS 规范没有为代理和客户端之间的通信定义有线通信协议。位于 http://stomp.codehaus.org 的 STOMP(Streaming Text Oriented Messaging Protocol,面向流化处理文本的消息传送协议)开源项目定义了一个简单的有线通信协议,采用任意语言编写的客户端都可以使用该协议与支持 STOMP 协议的任何消息传送提供者进行通信。

Message Queue 4.4 通过 STOMP 桥接器服务提供 STOMP 协议支持。利用此服务,Message Queue 代理可以与 STOMP 客户端进行通信。

有关 STOMP 桥接器服务的详细信息,请参见:

其他增强功能

Message Queue 4.4 中还提供了以下增强功能:

新的通用消息服务 (Universal Message Service, UMS) 函数

UMS 现在提供了下列使用 HTTP GET 的函数以提供多种服务:

有关 UMS 的概述,请参见通用消息服务 (Universal Message Service, UMS)。有关 UMS API 的文档,请参见 https://mq.dev.java.net/4.3-content/ums/protocol.html。有关使用多种语言进行编程的示例,请参见 https://mq.dev.java.net/4.3-content/ums/examples/README.html

IPS 打包支持

Message Queue 现在使用开源映像打包系统 (Image Packaging System, IPS) 进行了打包以便分发,该系统也称为 pkg(5) 系统。添加此打包方法的目的是为了方便 Message Queue 与 Sun GlassFish Enterprise Server 2.1.1 集成。

Message Queue 4.3 的新增功能

Message Queue 4.3 是一个次要发行版,其中包含很多增强功能以及错误修复程序。本部分介绍了此发行版中包含的新增功能:

通用消息服务 (Universal Message Service, UMS)

Message Queue 4.3 新增了一项新的通用消息传送服务 (UMS) 和消息传送 API,该 API 允许从任何启用了 http 的设备访问 Message Queue。因此,几乎所有应用程序都可以与任何其他应用程序通信,并从可靠且有保障的 JMS 消息传送中受益。此外,UMS 还为 JMS 消息传送提供了增强的可伸缩性,从而允许消息传送客户端的数量在 Internet 范围内达到相当比例的程度。

体系结构

下图中显示了基本 UMS 体系结构:

图 1–1 UMS 体系结构

该图显示了 UMS 用作非 JMS 客户端与 JMS 提供者之间的网关。

UMS 在 Web 服务器中运行,它与语言和平台无关。UMS 可用作任何非 JMS 客户端应用程序与 JMS 提供者之间的网关。它接收使用 UMS API 发送的消息,将其转换为 JMS 消息,然后通过 JMS 提供者的本机协议将这些消息发送至 JMS 提供者中的目的地。同样,它从 JMS 提供者中的目的地获取消息,将其转换为文本或 SOAP 消息,然后通过 UMS API 将这些消息发送至客户端请求的非 JMS 客户端。

与语言无关且基于协议的简单 UMS API 同时支持基于 Web 和不基于 Web 的应用程序,并且可以与脚本语言和编程语言一起使用。API 以两种样式提供:一种是使用表现状态传输 (Representational State Transfer, REST) 样式协议的简单消息传送 API,另一种是将协议嵌入 SOAP 消息头的 XML 消息传送 API。但是,这两种样式的 API 只需一个 http 请求来发送或接收消息。

UMS API 的简单性和灵活性表现在:AJAX、.NET、Python、C、Java 和许多其他应用程序可以将文本消息和/或 SOAP(带有附件)消息发送至 JMS 目的地,或从 JMS 目的地接收消息。例如,Python 应用程序可以与 .NET 应用程序通信,iPhone 可以与 Java 应用程序通信等等。

对于 Message Queue 4.3,UMS 仅支持将 Message Queue 作为 JMS 提供者。

其他功能

UMS 并非只可用作上述的简单网关。它还支持有状态客户端会话和无状态客户端会话。根据客户端请求,UMS 可在多个服务请求之间保持客户端应用程序的会话状态。UMS 可以使用容器管理验证和/或配置为使用 Message Queue 代理验证客户端。UMS 还支持事务,从而允许客户端应用程序将多个服务请求作为一个整体进行提交或回滚。

由于 UMS 支持大量客户端同时连接到单个 Message Queue 代理,因此减轻了代理连接服务的负荷,从而实现了最大可伸缩性。此外,还可通过水平缩放增大 UMS 容量,以便允许在 Internet 范围内进行大负荷的消息传送。

由于基于协议的 UMS API 的简单性,在客户端无需任何客户端库。这样,API 便可以在将来进行扩展以实现其他 JMS 功能,而无需升级客户端应用程序。

使用 UMS

要使用 UMS,您需要将 UMS 部署到支持 Servlet 2.4 或更高版本规范的 Web 容器中,启动 Message Queue 代理,创建相应的目的地,并编写使用 UMS API 发送或接收消息的消息传送应用程序。

Message Queue 4.3 发行版中包含的 UMS imqums.war 文件安装在以下位置(因平台而异):

可以在适当的情况下重命名 .war 文件。

表 1–5 imqums.war 文件的位置

平台 

imqums.war 的位置

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

在将 imqums.war 部署到位于 localhost:port 的 Web 容器后,可在以下位置找到 UMS 文档:

http://localhost:port/imqums

或者,也可通过以下方式查找 UMS 文档:

支持的 Web 容器

当前,以下 Web 容器支持 UMS:

AIX 平台支持

Message Queue 4.3 提供了 AIX 平台软件包以及一个用于安装这些软件包的安装程序。

Message Queue AIX 实现支持以下软件:

有关安装说明,请参见《Sun GlassFish Message Queue 4.4 Installation Guide》中的第 4  章 “AIX Installation”

在 AIX 平台上,Message Queue 文件安装在单个 Message Queue 主目录 IMQ_HOME 下。IMQ_HOME 表示目录 mqInstallHome/mq,其中 mqInstallHome 是您在安装该产品时指定的安装主目录(默认情况下为 home-directory/MessageQueue)。

最终的 Message Queue 目录结构与 Windows 平台上的目录结构相同(请参见《Sun GlassFish Message Queue 4.4 Administration Guide》中的附录 A “Platform-Specific Locations of Message Queue Data”)。

Message Queue 的 AIX 平台支持包括对 Message Queue C-API 的支持。有关在 AIX 平台上生成和编译 C 应用程序的说明,请参见 XREF。

基于 Zip 的新安装程序

Message Queue 4.3 新增了一种新的安装程序,以便进行基于 Zip 的分发,而不是本机软件包分发。该安装程序用于为 AIX 平台安装新的 Message Queue .zip 分发包。

新安装程序将 Message Queue .zip 文件解压缩到您具有写入权限(无需超级用户权限)的任何目录中,并且还允许您在 Sun Connection 中注册 Message Queue 安装。

为了最大程度地减小下载包的大小,Java 运行时环境将不再包含在基于 zip 的分发包中(大多数站点已提供 Java 运行时环境)。因此,installer 命令需要通过使用 JAVA_HOME 环境变量或通过在命令行中使用 -j 选项来指定 JDK 或 JRE,如下所示:

$ installer -j JDK/JRE-path

其中 JDK/JRE-path 是指定 JDK 或 JRE 的路径。

扩展的平台支持

将对 Message Queue 4.3 更新的以下平台支持进行认证:

其他增强功能

Message Queue 4.3 中还包含以下增强功能:

Windows 平台上的新目录结构

Windows 平台上的 Message Queue 安装目录结构已由以前的版本修改为与 AIX 平台上的目录结构相匹配。将来,Solaris 和 Linux 平台也会采用此目录结构,以便在单台计算机上执行多个安装,以及通过 Sun Connection(Sun 托管的一项服务,可帮助跟踪、管理和维护 Sun 硬件和软件)自动更新 Message Queue(请参见安装程序的 Sun Connection 注册支持)。

新代理属性

以下新属性可用于配置代理:

表 1–6 代理路由和传送属性

属性 

类型 

默认值 

描述 

imq.transaction.producer.maxNumMsgs

整型 

1000

生成方可以在单个事务中处理的最大消息数。建议该值小于 5000,以防止资源耗尽。 

imq.transaction.consumer.maxNumMsgs

整型 

100

使用方可以在单个事务中处理的最大消息数。建议该值小于 1000,以防止资源耗尽。 

imq.persist.jdbc.connection.limit

整型 

5

可以对数据库打开的最大连接数。 

JMX 管理 API 增强功能

在 JMX API 中添加了一个新属性和几个复合数据键,如下所示:

有关详细信息,请参见《Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients》中的第 3  章 “Message Queue MBean Reference”

列出通配符订阅者的长期订阅

以下用于列出长期订阅的命令:

list dur [-d topicName]

已增强,以便可选择指定或不指定主题名称。如果不指定主题,该命令会列出所有主题(包括使用通配符命名约定的主题)的所有长期订阅。

Message Queue 4.2 的新增功能

Message Queue 4.2 是一个次要发行版,其中包含很多新增功能、一些增强功能以及错误修复程序。本部分介绍了 4.2 发行版中的新增功能,并提供了详细的使用参考:

有关 Message Queue 4.1 和 4.0 中新增功能的信息,请分别参见Message Queue 4.1 的新增功能Message Queue 4.0 的新增功能

为发布者或订阅者提供多个目的地

在 Message Queue 4.2 中,发布者可以将消息发布到多个主题目的地;订阅者可以使用多个主题目的地中的消息。此功能是通过使用包含通配符的主题目的地名称(表示多个目的地)来实现的。通过使用此类符号名称,管理员可以根据需要创建与通配符命名方案保持一致的其他主题目的地。发布者可自动将消息发布到所添加的目的地,订阅者可自动使用其中的消息。(通配符主题订阅者比发布者更常见。)


注 –

此功能不适用于队列目的地。


符号主题目的地名称的格式及其使用示例在《Sun GlassFish Message Queue 4.4 Administration Guide》中的“Supported Topic Destination Names”中进行了描述。

XML 有效负荷消息的模式验证

通过使用 Message Queue 4.2 中新增的此功能,可以在将消息发送到代理时针对 XML 模式验证文本(不是对象)XML 消息的内容。XML 模式 (XSD) 位置是作为 Message Queue 目的地属性指定的。如果未指定 XSD 位置,则使用 XML 文档中的 DTD 声明来执行 DTD 验证。(XSD 验证包括数据类型和值范围验证,它比 DTD 验证更严格。)

有关使用此功能的信息,请参见XML 有效负荷消息的模式验证

C-API 的分布式事务支持

根据 X/Open 分布式事务模型,分布式事务支持依赖于分布式事务管理器,后者跟踪并管理一个或多个资源管理器所执行的操作。在 Message Queue 4.2 中,Message Queue C-API 支持 XA 接口(位于分布式事务管理器和 Message Queue 之间,作为符合 XA 的资源管理器),以使分布式事务处理环境(如 BEA Tuxedo)中运行的 Message Queue C-API 客户端能够参与分布式事务。

这种分布式事务支持包含以下用于实现 XA 接口规范的新 C-API 函数(以及新参数和错误代码):

MQGetXAConnection()
MQCreateXASession()

如果要在分布式事务上下文中使用 C 客户端应用程序,该应用程序必须使用 MQGetXAConnection() 获取连接,并使用 MQCreateXASession() 创建会话以生成和使用消息任何分布式事务的启动、提交和回滚操作都是通过分布式事务管理器提供的 API 进行管理的。

有关使用分布式事务方法的详细信息,请参见《Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients》中的“Working With Distributed Transactions”

Message Queue 4.2 提供了一些基于 Tuxedo 事务管理器的编程示例。有关使用这些样例程序的信息,请参见《Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients》中的“Distributed Transaction Sample Programs”


注 –

分布式事务方法在 Solaris、Linux 和 Windows 平台上均受支持,但到目前为止,仅在 Solaris 平台上对该方法进行了认证。


安装程序的 Sun Connection 注册支持

Message Queue 安装程序已进行了改进,允许在 Sun Connection 中注册 Message Queue,这是 Sun 托管的一项服务,可帮助跟踪、管理和维护 Sun 硬件和软件。

在安装 Message Queue 期间,可以选择在 Sun Connection 中注册 Message Queue。安装的 Message Queue 的相关信息(如发行版本、主机名、操作系统、安装日期以及其他此类基本信息)将安全地传送到 Sun Connection 数据库。Sun Connection 清单服务可帮助您管理 Sun 硬件和软件;更新服务可通知您最新的可用安全修复程序、建议的更新以及增强功能。

有关在 Sun Connection 中注册 Message Queue 的详细信息,请参见《Sun GlassFish Message Queue 4.4 Installation Guide》

MySQL 数据库支持

Message Queue 4.2 支持将 MySQL 数据库作为基于 JDBC 的数据存储库。可以将 MySQL Cluster Edition 用作独立代理的 JDBC 数据库,以及增强的代理群集所需的高可用性共享数据存储库。有关将 Message Queue 配置为使用 MySQL 的信息,请参见《Sun GlassFish Message Queue 4.4 Administration Guide》中的“Configuring a JDBC-Based Data Store”以及《Sun GlassFish Message Queue 4.4 Administration Guide》中的“Enhanced Broker Cluster Properties”

其他增强功能

除了上述功能以外,Message Queue 4.2 还包含以下增强功能:

Message Queue 4.1 的新增功能

Message Queue 4.1 是一个次要发行版,其中包含很多新增功能、一些增强功能以及错误修复程序。本部分介绍了 4.1 发行版中的新增功能,并提供了详细的使用参考:

有关 Message Queue 4.0 中新增功能的信息,请参见Message Queue 4.0 的新增功能

高可用性代理群集

Message Queue 4.1 新增了一个增强的新代理群集。与仅提供消息传送服务可用性(如果代理出现故障,可使用另一个代理提供消息传送服务)的传统代理群集相比,增强的代理群集还提供了数据可用性(如果代理出现故障,另一个代理可使用其持久性消息和状态数据接管消息传送)。

Message Queue 4.1 中新增的高可用性实现使用的是基于 JDBC 的共享数据存储库:群集中的所有代理共享符合 JDBC 的同一数据库,而不是代理群集中的每个代理都具有其自己的持久性数据存储库。如果特定代理出现故障,群集中的另一个代理将接管故障代理的消息传送。在执行此操作时,故障转移代理将使用共享数据存储库中的数据和状态信息。故障代理的消息传送客户端将重新连接到故障转移代理,它可提供不间断的消息传送服务。

Message Queue 4.1 高可用性实现中使用的基于 JDBC 的共享数据存储库本身必须具有高可用性。如果没有高可用性数据库,或者不间断的消息传送对您并不重要,则可以继续使用传统群集,这些群集提供了服务可用性,但不提供数据可用性。

要配置 Message Queue 4.1 增强的代理群集,请为群集中的每个代理指定以下代理属性:

要使用增强的代理群集实现,您必须执行以下操作:

  1. 安装高可用数据库。

  2. 安装 JDBC 驱动程序 .jar 文件。

  3. 为高可用性持久性数据存储库创建数据库模式。

  4. 为群集中的每个代理设置高可用性属性。

  5. 启动群集中的每个代理。

有关增强的代理群集的概念性讨论及其与传统群集之间的差异,请参见《Sun GlassFish Message Queue 4.4 Technical Overview》中的第 4  章 “Broker Clusters”。有关增强的代理群集的过程和参考信息,请参见《Sun GlassFish Message Queue 4.4 Administration Guide》中的第 10  章 “Configuring and Managing Broker Clusters”以及《Sun GlassFish Message Queue 4.4 Administration Guide》中的“Cluster Configuration Properties”

如果已在 Message Queue 4.0 中使用高可用性数据库,并且要切换到增强的代理群集,则可以使用数据库管理器实用程序 (imqdbmgr) 转换为共享持久性数据存储库。另请参见代理群集以了解更多的已知问题和限制。

JAAS 支持

除了基于文件的内置验证机制以及基于 LDAP 的内置验证机制外,Message Queue 4.1 还新增了 Java 验证和授权服务 (Java Authentication and Authorization Service, JAAS) 支持,它允许将外部验证机制插入到代理中以验证 Message Queue 客户端。

有关代理为符合 JAAS 的验证服务提供的信息的说明以及如何将代理配置为使用此类服务的描述,请参见《Sun GlassFish Message Queue 4.4 Administration Guide》中的“Using JAAS-Based Authentication”

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

Message Queue 4.1 更改了基于 JDBC 的数据存储库以支持增强的代理群集。为此,将基于 JDBC 的数据存储库格式提高到了版本 410。格式版本 350、370 和 400 均会自动迁移到版本 410。

请注意,基于文件的持久性数据存储库的格式将保持为版本 370,因为没有对其进行任何更改。

代理环境配置

Message Queue 4.1 环境配置文件 imqenv.conf 中添加了 IMQ_DEFAULT_EXT_JARS 属性。可以设置此属性,以指定在代理启动时包含在 CLASSPATH 中的外部 .jar 文件的路径名。如果使用此属性指定外部 .jar 文件的位置,则不再需要将这些文件复制到 lib/ext 目录中。外部 .jar 文件可以指 JDBC 驱动程序,也可以指 JAAS 登录模块。下面的样例属性指定了 JDBC 驱动程序的位置。

IMQ_DEFAULT_EXT_JARS=/opt/SUNWhadb4/lib/hadbjdbc4.jar:/opt/SUNWjavadb/derby.jar

Java ES 监视框架支持

Message Queue 4.1 新增了 Sun Java Enterprise System (Java ES) 监视框架支持,它允许使用常见图形界面监视 Java ES 组件。此界面是由一个基于 Web 的控制台(名为 Sun Java System Monitoring Console)实现的。管理员可以使用控制台来查看性能统计信息、创建规则以进行自动监视以及确认警报。如果将 Message Queue 与其他 Java ES 组件一起运行,您可能会发现使用单个界面来管理所有这些组件要更方便一些。

有关使用 Java ES 监视框架监视 Message Queue 的信息,请参见 XREF。

增强的事务管理

以前,仅允许通过管理方式回滚处于 PREPARED 状态的事务。也就是说,如果作为分布式事务一部分的会话没有正常终止,管理员将无法清除处于某种状态的事务。在 Message Queue 4.1 中,您现在可以使用命令实用程序 (imqcmd) 清除(回滚)处于以下状态的事务:STARTEDFAILEDINCOMPLETECOMPLETEPREPARED

为帮助您确定能否回滚特定事务(特别是未处于 PREPARED 状态时),该命令实用程序在 imqcmd query txn 输出中提供了额外的数据:它为启动事务的连接提供连接 ID,并指定事务的创建时间。通过使用此信息,管理员可以确定是否需要回滚事务。通常,管理员应避免提前回滚事务。

用于 C 客户端连接的固定端口

在 Message Queue 4.1 中,C 客户端(如 Java 客户端)现在可以连接到固定的代理端口,而不是连接到代理的端口映射器服务动态分配的端口。如果要尝试穿过防火墙,或者由于某种其他原因而需要绕过端口映射器服务,固定端口连接是非常有用的。

要配置固定端口连接,您需要配置代理和 C 客户端运行时环境(连接的两端)。例如,如果要通过 ssljms 将客户端连接到端口 1756,您应该执行以下操作:


注 –

MQ_SERVICE_PORT_PROPERTY 连接属性已反向移植到 Message Queue 3.7 Update 2 中。


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

以后发行版中不再使用的功能

在以后的发行版中,将不再使用以下功能:

Message Queue 4.4 和较新发行版中修复的错误

Message Queue 4.4 包含新的错误修复程序,并且还包含在 Message Queue 4.x 系列以前的发行版中修复的错误。

以下各部分列出了在相应发行版中修复的错误:

Message Queue 4.4 中修复的错误

下表介绍了 Message Queue 4.4 中修复的错误。

表 1–7 Message Queue 4.4 中修复的错误

错误 

描述 

6242247 

如果同一计算机上的两个代理具有相同的名称,则 MQ 群集的主代理在启动后会挂起 

6760937 

重新启动代理时,代理不会重新连接到数据库 

6765410 

当长期订阅已处于活动状态时,主代理发送本地 Interest 2 次会导致从代理出现异常 

6796506 

如果在接收远程 PREPARE 回复时超时,则远程 PREPARED 消息在回滚后不会重新传送 

6821639 

在 MQRA-DIRECT 模式下恢复应用服务器事务期间,回滚/提交事务出现 Null 指针异常 

6836364 

如果通配符订阅者的主题是在订阅之前创建的,则该订阅者不接收远程消息 

6836749 

HA(JCAPS):在回滚某个长期订阅并提交消息后,接收消息时出现存储库中已存在确认异常 

6858905 

Consumer.destroyConsumer 中出现 ConcurrentModificationException 异常 

Message Queue 4.3 中修复的错误

下表介绍了 Message Queue 4.3 中修复的错误。

表 1–8 Message Queue 4.3 中修复的错误

错误 

描述 

6634033 

创建客户端时,群集协议没有将 imqConsumerFlowLimit 的值传递到远程代理。

6713012 

如果在远程代理重新启动时,群集中某个代理的使用方被销毁,则将不传送某些消息。 

6727555 

代理日志消息 "Max bytes per msg exceeded"(超过每条消息的最大大小(字节))将实际的消息大小和每条消息的最大大小(字节)值进行了互换。

6737404 

JMX 度量需要提供从目的地(主题和队列)分发但要传送给使用方的消息计数。 

6740568 

当单个事务中使用的消息过多时,代理抛出异常。 

6758524 

列出长期订阅的命令 (imqcmd list dur -d "foo.*") 不接受目的地名称中的通配符。

6758952 

设置 imq.portmapper.hostname=localhost 导致多个代理无法连接到一个群集中。

6758817 

设置 imq.cluster.hostname=localhost(不建议使用)导致不同计算机上的代理无法连接到一个群集中。

Message Queue 4.2 中修复的错误

下表介绍了 Message Queue 4.2 中修复的错误。

表 1–9 Message Queue 4.2 中修复的错误

错误 

描述 

6581592 

在文本模式下运行安装程序 (installer –t) 或卸载程序时,“摘要”屏幕将显示包含日志/摘要文件的目录,但不会列出这些文件的名称。

6585911 

安装程序的“JDK 选择”屏幕未正确包含与安装程序捆绑在一起并用于运行安装程序的 JRE。 

6587112 

在多字节语言环境中,安装程序“摘要”屏幕显示乱码。 

6587127 

在通过引用应答文件以运行安装程序 (installer -a filename -s) 时,如果该应答文件不存在,则错误消息不一致且含混不清。

6590969 

在客户端连接验证中允许使用 DN 用户名格式。 

6594381 

如果系统上存在 Message Queue 本地化 RPM 的旧版本,Message Queue 4.1 本地化 RPM 安装(通过在“多语言软件包”屏幕上选中“安装 Message Queue 多语言软件包”复选框来执行此操作)将会失败。 

6599144 

在 Java SE 6 上卸载 Message Queue 4.2 时,闪屏和卸载程序将挂起,并且显示灰色空白屏幕,但在 Java SE 5 上,则可以正常工作。  

6615741 

如果回滚在使用方事务会话中传送的消息,并且在回滚之前关闭了原始使用方,则不会重新传送这些消息。 

6629922 

分布式事务处理程序未按正确的顺序将消息重新传送到非活动使用方。 

6635130 

代理在由于目的地已达到内存限制或消息限制而暂停后,不能通知非持久性消息的生成方恢复生成操作。 

6641117 

如果回滚在使用方事务会话中传送的消息,并且在回滚之后关闭了原始使用方,则不会重新传送这些消息。 

6683897 

尽管配置显示已成功完成,但 Message Queue 安装程序的“摘要”屏幕却报告以下配置错误:在某些计算机上,安装程序无法写入 /dev/sterr

6684069 

对于在使用方事务中将大量消息传送到远程客户端的代理群集,无法提交事务。 

6688935 

端口映射器读取超时的默认值太小。 

6695238 

如果代理的安装路径中包含空格,C 客户端应用程序将无法连接到该代理。 

6710168 

如果目的地暂停两次并且在两次暂停之间未进行恢复,使用方将不再使用消息。 

6710169 

JMX 操作 ConsumerManagerMonitor.getConsumerInfo 始终为确认模式返回 SESSION_TRANSACTED

Message Queue 4.1 中修复的错误

下表介绍了 Message Queue 4.1 中修复的错误。

表 1–10 Message Queue 4.1 中修复的错误

错误 

描述 

6381703 

如果传送消息的代理重新启动,则可能会两次提交处理的远程消息。 

6388049 

无法清除未完成的分布式事务。 

6401169 

imqcmd 的提交和回滚选项不提示进行确认。 

6473052 

自动创建的队列的默认设置应该为循环传送。(MaxNumberConsumers = -1)。

6474990 

代理日志显示 imqcmd list dst 命令发生了 ConcurrentModificationException

6487413 

限制行为是 REMOVE_OLDESTREMOVE_LOWER_PRIORITY 时发生内存泄漏。

6488340 

代理自旋,并且客户端等待确认回复。 

6502744 

代理不遵循停用消息队列具有 1000 个消息的默认限制。 

6517341 

当客户端连接到增强的代理群集时,客户端运行时环境需要改进重新连接逻辑,以便允许客户端重新连接,而无论 imqReconnectEnabled 属性值是什么。

6528736 

Windows 自动启动服务 (imqbrokersvc) 在启动过程中崩溃。

6561494 

当两个使用方共享一个会话时,消息将传送到错误的使用方。 

6567439 

如果在代理重新启动后提交 PREPARED 事务中生成的消息,这些消息的传送顺序就会不正确。

Message Queue 4.0 中修复的错误

下表介绍了 Message Queue 4.0 中修复的错误。

表 1–11 Message Queue 4.0 中修复的错误

错误号 

描述 

4986481 

在 Message Queue 3.5 中调用 Session.recover 时,可能会在自动重新连接模式下挂起。

4987325 

在调用 Session.recover 后,将重新传送的消息的 Redelivered 标志设置为 false

6157073 

将新连接消息更改为既包含总连接数,也包含服务上的连接数。 

6193884 

在使用非 ASCII 字符显示消息的语言环境中,Message Queue 向系统日志输出垃圾消息。 

6196233 

无法使用 JMSMessageID 选择消息。

6251450 

在群集关闭过程中,connectList 出现 ConcurrentModificationException

6252763 

java.nio.HeapByteBuffer.putLong/Int 出现 java.nio.BufferOverflowException

6260076 

使用 Oracle 存储库,在代理启动后的第一条消息发布完后,消息发布速度变得很慢。  

6260814 

JMSXUserID 进行处理的选择器始终得到 false 值。

6264003 

队列浏览器显示属于尚未提交的事务的消息。 

6271876 

关闭具有未使用消息的使用方时,连接流控制无法正常工作。 

6279833 

Message Queue 不允许两个代理使用相同的 JDBC 表。 

6293053 

除非清除存储库中的内容(使用 —reset store),否则当系统的 IP 地址更改时,主代理将无法正确启动。

6294767 

Message Queue 代理需要在其打开的网络套接字上设置 SO_REUSEADDR

6304949 

无法设置 TopicConnectionFactoryClientID 属性。

6307056 

txn 日志成为性能瓶颈。

6320138 

Message Queue C API 无法确定回复标头中的队列名称。  

6320325 

即使在 Solaris 上同时安装了 JDK 1.4 和 JDK 1.5,代理有时也会选取前者。  

6321117 

多代理群集初始化抛出 java.lang.NullPointerException

6330053 

从订户提交事务时,JMS 客户端抛出 java.lang.NoClassDefFoundError

6340250 

支持 C-API 中的 MESSAGE 类型。

6351293 

添加对 Apache Derby 数据库的支持。  

Message Queue 4.4 中的文档更新

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

兼容性问题

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

接口稳定性

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

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

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

Message Queue 4.4 文档集中的更改

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

技术概述

《Sun GlassFish Message Queue 4.4 Technical Overview》反映了 Message Queue 4.4 中的新增功能。

安装和升级信息

《Sun GlassFish Message Queue 4.4 Installation Guide》包含在 AIX 平台上安装 Message Queue 的信息。

管理指南

《Sun GlassFish Message Queue 4.4 Administration Guide》包含次要的错误修复程序、AIX 平台支持,以及用于管理代理群集和将传统群集转换为增强的群集的已修订过程。

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

《Sun GlassFish Message Queue 4.4 Developer’s Guide for Java Clients》反映了新版本号,但未进行修订。

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

《Sun GlassFish Message Queue 4.4 Developer’s Guide for C Clients》包含有关在 AIX 平台上构建 C 客户端应用程序的信息。

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

《Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients》包含 JMX API 中的增强功能。

已知问题和限制

本部分包含了 Message Queue 4.4 中已知问题的列表。涵盖以下产品领域:

有关当前错误、错误的状态和解决方法的列表,Java Developer Connection™ 成员应参见 Java Developer Connection Web 站点上的 Bug Parade 页。在报告新的错误之前请先查看该页。虽然未列出所有的 Message Queue 错误,但如果您想了解是否已报告了某个问题,可以将该页作为一个很好的起点。

http://bugs.sun.com/bugdatabase/index.jsp


注 –

可以免费获得 Java Developer Connection 成员资格,但需要进行注册。有关如何成为 Java Developer Connection 成员的详细信息,请访问 Sun 的 "For Developers" Web 页。


要报告新错误或提交功能请求,请向 imq-feedback@sun.com 发送电子邮件。

安装问题

本部分介绍了与安装 Message Queue 版本 4.4 相关的问题。

产品注册表和 Java ES

与 Message Queue 4.2 和 4.1 类似,Message Queue 4.4 是由相对较新的安装程序安装的,该安装程序还可安装并升级 Message Queue 所需的 Java Enterprise System (Java ES) 共享组件,例如,JDK、NSS 和 JavaHelp 等。

新 Message Queue 安装程序和旧 Java ES 安装程序(用于安装以前的 Message Queue 版本)不能共享同一个产品注册表。如果 Message Queue 安装程序删除随 Java ES 安装程序安装的 Message Queue 版本并随后安装 Message Queue 4.4,则 Java ES 产品注册表可能会处于不一致的状态。因此,如果运行 Java ES 卸载程序,它可能会误删 Message Queue 4.4 及其依赖的共享组件,即使这些内容并不是它安装的。

升级 Java ES 安装程序所安装的 Message Queue 软件的最佳方法如下所示。

  1. 使用 Java ES 卸载程序删除 Message Queue 及其共享组件。

  2. 使用 Message Queue 安装程序安装 Message Queue 4.4。

在所有平台上进行安装

这些问题会影响所有平台上的安装。

在 Windows 上进行安装

在 Windows 上安装 Message Queue 时,请注意以下限制。

在 Solaris 上进行安装

在 Linux 上进行安装

以下问题会影响 Linux 平台上的安装:

安装程序中的版本异常

安装程序未明确显示 Message Queue 版本信息。(错误 6586507)

Solaris 平台

在 Solaris 平台上,请参见下表以确定安装程序显示的 Message Queue 版本。

表 1–12 版本字符串转换

Solaris OS 上的安装程序显示的版本 

对应的 Message Queue 发行版 

4.3.0.0 

4.3 

4.2.0.0 

4.2 

4.1.0.2 

4.1 Patch 2 

4.1.0.1 

4.1 Patch 1 

4.1.0.0 

4.1 

3.7.2.1 

3.7 UR2 Patch 1 

3.7.0.2 

3.7 UR2 

3.7.0.1 

3.7 UR1 

3.6.0.0 

3.6 

3.6.0.4 

3.6 SP4 

3.6.0.3 

3.6 SP3 

3.6.0.2 

3.6 SP2 

3.6.0.1 

3.6 SP1 


注 –

对于 3.6 SP4 修补程序发行版(如 3.6 SP4 Patch 1),安装程序显示的发行版字符串保持不变。您需要运行 imqbrokerd -version 命令以确定确切的版本。


Linux 平台

在 Linux 平台上,安装程序显示的版本号采用以下格式。

majorReleaseNumber.minorReleaseNumber-someNumber

例如,3.7–22。它仅告诉我们这是 3.7 发行版之一,但没有指出具体的版本。要确定安装的 Message Queue 版本,请运行以下命令:

imqbrokerd -version

本地化问题

以下问题与本地化问题有关。

过时的密码选项

在以前版本的 Message Queue 中,可以对以下命令使用 —p—password 选项以交互方式指定密码:imqcmdimqbrokerdimdbmgr。从 4.0 版开始,将不再使用这些选项。

您可以创建一个密码文件以指定相关密码并使用 -passfile 命令选项引用该密码文件,或者在出现命令提示时直接输入密码。

密码文件可以包含以下列出的一个或多个密码。

在以下示例中,在密码文件中将 JDBC 数据库的密码设置为 abracadabra

imq.persist.jdbc.mysql.password=abracadabra

可通过以下某种方法使用密码文件。

管理/配置问题

以下是有关管理和配置 Message Queue 的问题

代理问题

以下问题将影响 Message Queue 代理。

代理群集

以下问题影响代理群集。

JMX 问题

在 Windows 平台上,事务管理器监视 MBean 的 getTransactionInfo 方法将返回具有错误事务创建时间的事务信息。(错误 6393359

解决方法:改用事务管理器监视 MBean 的 getTransactionInfoByID 方法。

SOAP 支持

您需要注意与 SOAP 支持有关的两个问题

可再分发的文件

Sun GlassFish Message Queue 4.4 中包含以下一组文件,您可以使用这些文件,并以二进制格式自由分发它们:

fscontext.jar

jaas.jar

imq.jar

jms.jar

imqjmx.jar

libmqcrt.so (HPUX)

imqxm.jar

libmqcrt.so (UNIX)

imqums.war

mqcrt1.dll (Windows)

此外,还可以再分发 LICENSECOPYRIGHT 文件。

为残疾人士提供的辅助功能

欲获得自本介质发行以来所发布的辅助功能,请联系 Sun 索取有关 "Section 508" 法规符合性的产品评估文档,以便确定哪些版本最适合部署辅助功能解决方案。可以在 http://sun.com/software/javaenterprisesystem/get.html 找到应用程序的更新版本。

有关 Sun 在辅助功能方面所做出的努力,请访问 http://sun.com/access

如何报告问题和提供反馈

如果您在使用 Sun GlassFish Message Queue 期间遇到问题,请通过以下方式与 Sun 客户支持部门联系。

为了使我们能更好地帮助您解决问题,请在联系客户支持时提供以下信息:

Sun GlassFish 软件论坛

以下位置提供了一个 Sun GlassFish Message Queue 论坛:

http://swforum.sun.com/jive/forum.jspa?forumID=24

我们欢迎您的参与。

Java 技术论坛

您可能会对 Java 技术论坛中的 JMS 论坛感兴趣。

http://forum.java.sun.com

Sun 欢迎您提出意见

Sun 致力于提高其文档的质量,并十分乐意收到您的意见和建议。

要共享您的意见,请访问 http://docs.sun.com,并单击 "Send Comments"。在联机表单中,请提供文档标题和文件号码。文件号码是一个七位或九位的数字,可以在书的标题页或文档的顶部找到。例如,本书的书名是《& 发行说明》,文件号码是 821-0894。

其他 Sun 资源

从以下 Internet 位置可以找到有用的 Sun GlassFish 信息: