Sun Java System Application Server 7 2004Q2 Update 1 发行说明

> # Sun Java™ System Application Server Standard and Enterprise Edition 发行说明

> ### 版本 7 2004Q2 Update 1

> 文件号码 819-1500

> 本发行说明包含发行 Sun Java™ System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 产品时可以获得的重要信息。还介绍了增强功能、安装说明、已知问题以及其他最新问题。在开始使用 Sun 产品之前，请先阅读本文档和相关文档。

> 本文档包括以下内容：

> - 发行说明修订历史记录
> - 新增功能
> - 平台摘要
> - 所需的 Solaris 修补程序
> - 升级选项
> - 安装 JWSDP 1.4 通用组件
> - 使用迁移工具
> - Sun ONE Studio 5 Standard Edition Update 1
> - 其他要求和限制
> - 访问文档
> - 已解决的问题
> - 已知问题和限制
> - 可重新分发的文件
> - 如何报告问题和提供反馈
> - 其他 Sun 资源

> #

> 发行说明修订历史记录

> 本节列出了初次发行 Sun Java System Application Server 7 Standard and Enterprise Edition 产品后对这些发行说明所做的更改。

> 修订日期 | 更改说明
> --- | ---
> 2004 年 5 月 | 初次发行 Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition
> 2004 年 9 月 | 发行 Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition Update 1

> #

> 新增功能

> Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 提供了高性能的 J2EE 平台，可广泛适用于各种应用服务和 Web 服务的部署。对 Update 1 版本所做的更改如下：

> - 稳定性及质量改进

> Update 1 版本解决了许多性能、稳定性、可伸缩性和可用性的问题，提高了 Sun Java System Application Server 7 2004Q2 的整体性能。

> - J2SE 1.4.2_05

> 已将 JVM 版本升级到 1.4.2_05。

> - 在 Windows 平台上的高可用性

> 以前在 UNIX 平台上使用 Application Server 时具有的以下负载平衡和故障转移功能，现在在 Windows 上使用 Update 1 时也可获得：

> - EJB 故障转移

> 即使在系统或软件崩溃的情况下，EJB 故障转移保护仍可以提供不间断的服务，并且使任何 J2EE 应用程序保持原来的运行状态。

> - RMI/IIOP 故障转移和负载平衡

> 沿 RMI/IIOP 路径访问的 EJB 引用和名称服务引用的负载平衡和故障转移。

> - HTTP/S 负载平衡和故障转移

> 许多平台和 Web 服务器都支持 HTTP/S 路径上的负载平衡和故障转移。

> - 新版本的高可用性数据库 (HADB)

> 最新版本的 HADB 4.4 与用于 Windows 平台的 Sun Java System Application Server 7 2004Q2 Update 1 Enterprise Edition 捆绑在一起。HADB 4.4 通过新的管理系统提供新的、易于使用的管理框架。

> - JWSDP 1.4

> JWSDP 1.4 通用组件封装在产品 CD 中的 AppServer7/package/jwsdpcc_addon 目录下。使用通用组件可以升级 JWSDP 的安装。

> 有关安装和卸载通用组件的信息，请参见“安装 JWSDP 1.4 通用组件”。

> - NSS 3.3.11

> 最新的 NSS 版本提高了安全性，并解决了很多在以前的 NSS 版本中发现的问题。

> - 用于改进 Application Server 性能的新配置参数。

> 已对默认服务器配置文件 server.xml 进行了以下配置更改。

> 这些更改是使用 SPECj2001 基准测试程序进行持续性能测试的结果。

> - JVM 选项

> -server -Xss128k

> -Xms256m -Xmx256m

> -XX:+AggressiveHeap

> -XX:+DisableExplicitGC

> -Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.IasUtilDelegate

> - ORB

> Steady Pool Size = 40

> Max Pool Size = 70

> - EJB 容器/MDB 设置/默认池设置

> Steady Pool Size = 32

> Max Pool Size = 1024

> Pool Resize Quantity = 16

> - 已删除的 JVM 选项

> -Dsun.rmi.dgc.server.gcInterval=3600000

> - 为进一步提高性能，应将 -Xms256m -Xmx256m 的默认 Java 堆设置提高到可以容纳硬件上可用的附加内存。

> 例如，在只运行 Application Server 的 4 千兆字节 Solaris 9 系统上，将堆更改为 -Xmx3584m -Xms3584m 可以产生 1440% 的改进（相对于默认堆设置 256m，这是运行应用程序服务器所需的最小值）。

> 大部分新更改通过使用经过持续测试后被证明为最可靠并能产生最佳性能结果的设置，来优化企业服务器 Java 引擎以更好地进行堆使用和垃圾收集。

> - 在应用程序代码中调用时，-XX:+DisableExplicitGC 将关闭显式垃圾收集。这将使 Application Server 容器和 Java 引擎在最佳时间处理所有垃圾收集循环，延迟显式调用以避免对最佳性能产生程序性的影响。
> - -Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.IasUtilDelegate 激活 Application Server 在使用 ORB 时利用 sun.reflect 复制数据对象的功能。对于此方面的性能，它可以产生多达 40% 的改进。

> 通过使用 SPECj2001 基准测试程序进行持续数小时的性能测试，以便确定哪些设置能够可靠地返回最佳性能值，从而使 ORB 和 MDB 设置得到优化。

> 如果是使用 ORB，则在减小最大池大小时将增大稳定池大小，因为此时添加更多线程无助于提高性能。

> 如果是使用 MDB，则稳定池大小、最大池大小和池调整大小数量都将增大，以提高异步 MDB 请求的吞吐量，从而优化此方面的性能。

> - 已从默认配置中删除 RMI 委托垃圾收集器设置 -Dsun.rmi.dgc.server.gcInterval=3600000，以适应进行的其他更改。此种转换将延迟 RMI 对象的 Java 垃圾收集，使其每小时仅发生一次。删除此种转换将恢复垃圾收集 RMI 对象的 Java JRE 默认行为，使其每两分钟发生一次（性能测试表明这有助于提高可靠性和优化性能）。

> #

> 平台摘要

> 本节介绍有关 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 所支持的平台组件的信息。

> 本节包括：

> - 操作系统和分发类型
> - 系统要求
> - JDBC 驱动程序和数据库
> - Web 服务器
> - 浏览器
> - 软件包

> ## 操作系统和分发类型

> 下表标识了 Sun Java System Application Server 7 2004Q2 Update 1 所支持的操作系统和分发类型：

> 表 1 支持的操作系统和分发类型

> 平台 | 操作系统版本 | 分发类型 | Application Server 7 2004Q2 Update 1 版本
> --- | --- | --- | ---
> Solaris SPARC | Solaris 8 Update 7、Solaris 9 Update 6 | 基于文件和基于软件包1 | Standard and Enterprise Edition
> Solaris x86 | Solaris 9 Update 4 | 基于文件和基于软件包 | Standard and Enterprise Edition
> Linux x862 | Red Hat Advanced Server 2.1 Update 3、 Red Hat Advanced Server 3 | 基于文件和基于 RPM | Standard and Enterprise Edition
> Microsoft Windows3 | Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 Windows 2003 Windows XP：Professional | 基于文件 | Standard and Enterprise Edition

> 1安装基于软件包和基于 RPM 的分发需要具有超级用户权限。
> 2在 Red Hat Advanced Server 2.1 上，HADB 仅支持 ext2 文件系统上的设备。
> 3在 Windows XP Professional 上，仅可以使用标准版。

> ## 系统要求

> 下表总结了 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 的要求。

> 表 2 Sun Java System Application Server 的平台要求;

> 操作系统 | 体系结构 | 最小内存 | 建议的内存 | 最小磁盘空间 | 建议的磁盘空间
> --- | --- | --- | --- | --- | ---
> 适用于 SPARC 的 Sun Solaris 8 或 Sun Solaris 9 | 32 位和 64 位4 | 256 MB | 1024 MB | 250 MB 可用空间 | 500 MB 可用空间
> Solaris x86, Version 9 | 32 位
> Red Hat Enterprise Linux 2.1、Red Hat Enterprise Linux 3
> Windows 2000Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 Windows 2003 Windows XP：Professional | x86 32 位

> 4此处的32 位和 64 位是指支持的 Solaris 操作系统。Sun Java System Application Server 是 32 位应用程序。

> - 在 UNIX 上，可以使用 uname 命令查看操作系统版本。可以使用 df 命令查看磁盘空间。
> - 在 Solaris 上，请确保 /usr/bin/perl 下的 perl 的系统范围实例位于路径中。如果找不到默认 perl 安装，安装将失败。

> ## JDBC 驱动程序和数据库

> Sun Java System Application Server Standard and Enterprise Edition 支持使用相应的 JDBC 驱动程序连接任何 DBMS。有关经 Sun 测试发现适合构建符合 J2EE 规范的数据库配置的组件列表，请参见下表：

> 表 3 支持的 JDBC 驱动程序

> JDBC 供应商 | JDBC 驱动程序类型 | 支持的数据库服务器
> --- | --- | ---
> PointBase 4.2 | 类型 4 | PointBase Network Server 4.2
> JConnect 5.5 | 类型 4 | Sybase ASE 12.5
> DataDirect 3.2 | 类型 4 | MS SQL Server 2000 Service Pack 1
> DataDirect 3.2 | 类型 4（瘦型） | Oracle 8.1.7
> DataDirect 3.2 | 类型 4（瘦型） | Oracle 9.2.0.1
> Oracle 9.2.03 | 类型 2 (OCI) | Oracle 9.2.0.3+ w/ RAC
> IBM | 类型 2 | IBM DB2 8.1 Service Pack 3

> 另有其他驱动程序已通过 JDBC 驱动程序认证计划的测试，证明满足 J2EE 1.3 平台的 JDBC 要求。这些驱动程序可用于 JDBC 与 Sun Java System Application Server 的连接。尽管 Sun 未提供对这些驱动程序的产品支持，但是我们将支持在 Sun Java System Application Server 中使用这些驱动程序。

> ## Web 服务器

> 本节列出了 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 所支持的 Web 服务器。

> 表 4 支持的 Web 服务器

> Web 服务器 | 版本 | 操作系统
> --- | --- | ---
> Sun Java System Web Server | 6.0 Service Pack 6 | Solaris SPARC 8 和 Solaris SPARC 9 Red Hat Enterprise Linux 2.1 x86 Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 Windows 2003 Windows XP：Professional
> Sun Java System Web Server | 6.1 | Solaris SPARC 8 和 Solaris SPARC 9、 Solaris 9 x86、 Red Hat Enterprise Linux 2.1 Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 Windows 2003 Windows XP：Professional
> Apache Web Server | 1.3.29、2.0.49 | Solaris SPARC 8 和 Solaris SPARC 9、 Solaris 9 x86、 Red Hat Enterprise Linux 2.1 和 Red Hat Enterprise Linux 3、 Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2
> Microsoft IIS | 5.0 | Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 Windows XP：Professional 和 Windows 2003（仅限于 Application Server 的标准版）

> ## 浏览器

> 本节列出了 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 所支持的浏览器。

> 表 5 支持的浏览器

> 浏览器 | 版本
> --- | ---
> Netscape Navigator | 4.79、6.2
> Internet Explorer | 5.5 Service Pack 2, 6.0

> ## 软件包

> 本节列出了 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 所支持的关联软件包。

> 表 6 可绑定到 Application Server 的组件版本

> 组件 | 在 Application Server 7.0 Platform and Standard Edition 中使用的版本 | 在 Application Server 7.0 Enterprise Edition 中使用的版本 | 在 Application Server 7 2004Q2 Standard and Enterprise Edition 中使用的版本 | 在 Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 中使用的版本
> --- | --- | --- | --- | ---
> J2SE | 1.4.0_02 | 1.4.1_03 | 1.4.2_04 | 1.4.2_05
> PointBase | 4.2 | n/a | 4.2（仅限于标准版） | 4.2（仅限于标准版）
> Sun Java System Message Queue Standard Edition | 3.0.1 | 3.0.1 | 3.5 Service Pack 1 | 3.5 Service Pack 1
> JWSDP | 1.0_01 | 1.0_01 | 1.0_01 | 1.0_015

> 5使用产品 CD 中的 JWSDP 1.4 通用组件可以升级 JWSDP 安装。

> #

> 所需的 Solaris 修补程序

> Solaris 8 用户必须安装 Sun 推荐的修补程序集，可以在“建议的安全修补程序”部分找到此修补程序集，网址为：

> http://sunsolve.sun.com/

> Solaris 8 所需的修补程序包括 109326-06、108827-26 以及 110934（可以是任何版本，仅用于基于软件包的安装）。如果没有安装这些修补程序（安装程序将检查这些修补程序是否存在），将无法安装或运行 Sun Java System Application Server 7 2004Q2 Update 1 软件。这些修补程序已包含在最新的推荐修补程序集中。

> #

> 升级选项

> Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 安装程序允许从 Application Server 的早期版本升级到当前版本。支持的所有平台上的各种 Application Server 安装都可以升级到同一平台和安装类型的相应版本。下表标识了可用的升级选项。

> 表 7 可用的升级选项

> 当前安装的产品 | 可以升级到 Sun Java System Application Server 7 2004Q2 Update 1 的版本：
> --- | ---
> Application Server 7.0 Platform Edition | 标准版 企业版
> Application Server 7.0 Standard Edition Update 1、Update 2 和 Update 3 | 标准版 企业版
> Application Server 7.0 Enterprise Edition | 企业版
> Sun Java System Application Server 7 2004Q2 Standard and Enterprise Edition | 标准版 企业版

> 升级 Application Server 安装时应注意以下几点：

> - 在某些情况下，从基本安装（即 SunOne Application Server 7.0）到 Sun Java System Application Server 7 2004Q2 的更新版本的升级操作可能会导致产品自动卸载。请参见“已知问题和限制”下的 Bug ID 5052938 和 5052939。
> - 只有基于软件包的 Application Server 7.0 以及更新版的安装才可以升级到相应的基于软件包的 Sun Java System Application Server 安装。
> - 对于基于文件的安装，安装的产品注册表用于收集与安装的 Application Server 产品相关的信息。
> - 升级安装选项仅在使用图形界面安装方式和命令行安装方式时才可用，而不支持使用无提示模式升级。
> - 在从 Application Server 7 2004Q2 UR1 Standard Edition 升级到 Application Server 7 2004Q2 Update 1 Enterprise Edition 时，升级可能会停止，并显示以下消息：

> 样例和 Pointbase 4.2 应与 Application Server 安装在同一位置。请返回并选择同一安装目录。

> 如果收到此消息，请转至 Windows 注册表并将主键 HKEY_LOCAL_MACHINE/SOFTWARE/Sun Microsystems/Application Server/7 2004Q2 的值由 2004Q2UR1 修改为 2004Q2SEUR1。

> 更改此注册表主键的值之后，请重复升级过程。

> - 在 Solaris 和 Linux 平台上开始升级之前，请确保安装 Application Server 的分区有足够的可用磁盘空间（如“系统要求”中所述）。
> - 要保护现有安装的配置，必须创建完整的安装备份，以便在升级遇到错误和失败时用作参考。

> 如果在升级过程中出现错误，请使用以下过程来恢复安装：

> - 执行 Application Server 的完全卸载。
> - 手动清除 uninstall 程序未删除的所有配置文件。
> - 在同一位置重新安装产品，使用备份副本作为参考重新部署并重新配置安装。
> - 升级 Application Server Enterprise Edition 的早期版本之后，如果在 appserver_install_dir/SUNWhadb/4 下有现有数据库，请勿执行任何 HADB 操作。否则，现有 HADB 配置文件可能会被删除。

> 要保护 HADB 配置文件，请在执行任何 HADB 操作之前将所有 hadb.data* 和 hadb.nilog* 文件从 appserver_install_dir/SUNWhadb/4.3-0.16 目录移至 appserver_install_dir/SUNWhadb/4.3-0.19 目录。

> 如果 HADB 数据库名称不是 hadb，则文件将被命名为数据库名称.data* 和数据库名称.nilog*。

> #

> 安装 JWSDP 1.4 通用组件

> 本节介绍了有关在 Solaris(TM)、Linux 和 Windows 上安装 JWSDP 1.4 的通用组件的说明。您还可以使用这些说明将当前使用的 JWSDP 版本升级到 JWSDP 1.4。

> - 可用软件包
> - 安装过程
> - 安装后的步骤
> - 卸载过程
> - 卸载后的步骤

> 注 | 对于应用程序服务器安装的所有组合，安装程序/卸载程序都是相同的： 以非超级用户身份在 Solaris 上安装 以超级用户身份在 Solaris 上安装 以超级用户身份在 Linux 上安装 以非超级用户身份在 Linux 上安装 以管理员用户身份在 Microsoft Windows 上安装 以非管理员用户身份在 Microsoft Windows 上安装

> ## 可用软件包

> 以下用于 Web 服务客户端开发的 JAR 文件和工具包含在附加软件包中：

> - JAXB 1.0.3——用于 XML 绑定的 Java API。
> - JAXP 1.2.6——用于 XML 处理的 Java API。
> - JAXR 1.0.6——用于 XML 注册表的 Java API。
> - SAAJ 1.2.1——用于 Java 的带附件的 SOAP API。
> - JAX-RPC 1.1.2——用于基于 XML 的 RPC 的 Java API。

> ## 安装过程

> 1. 将 JWSDP 文件从 CD 上的 AppServer7/package/jwsdpcc_addon 目录复制到您的计算机上的目录，最好是在 <appserver_install_dir>/<addons_install>/ 下。

> 如果已下载 Application Server，请解压缩下载的文件，然后执行步骤 1

> 2. 将目录更改为 JAR 文件已复制到的位置。

> 示例：$ cd appserver_install_dir/addons_install/

> 3. 解压缩 JWSDPCC_AddOn.jar。

> 示例：$ /usr/j2se/bin/jar -xvf JWSDPCC_AddOn.jar

> JWSDP 文件将被解压缩至当前目录中的 JWSDPCC_AddOn 目录。

> 4. 将目录更改为 appserver_install_dir/addons_install/JWSDPCC_AddOn
> 5. 执行 JWSDPCC_AddOn.class

> 示例：$ /usr/j2se/bin/java JWSDPCC_AddOn appserver_install_dir appserver_instance_dir/domains/domain1/server1 install

> 执行不带任何参数的 JWSDPCC_AddOn.class 将显示用法。

> JWSDP 包将被安装在 appserver_install_dir/lib/share 目录下。请勿修改此目录下的任何文件。

> 6. 如果要在其他实例上安装此包，请从步骤 5 开始。

> 注 | 要获得对 JWSDPCC 的完全支持，请升级到 Sun Java System Application Server 的最新主要版本。

> ## 安装后的步骤

> 安装 JWSDP 1.4 通用组件之后，您必须执行以下步骤。

> 1. 重新配置安装了 JWSDPCC_AddOn 包的服务器实例。
> 2. 重新启动应用程序服务器实例，以使 Application Server 的类加载器可以从安装的包装入新类。

> ## 卸载过程

> 1. 确保已停止要卸载的此包所在的实例。
> 2. 如果在安装之后保留了 appserver_install_dir/addons_install/JWSDPCC_AddOn 目录，请从步骤 6 开始。
> 3. 将 JWSDP 文件从 CD 上的 AppServer7/package/jwsdpcc_addon 目录复制到您的计算机上的目录，最好是在 appserver_install_dir/addons_install/ 下。

> 如果已下载 Application Server，请解压缩下载的文件，然后执行步骤 3。

> 4. 将目录更改为 JAR 文件已复制到的位置。

> 示例：$ cd appserver_install_dir/addons_install/

> 5. 解压缩 JWSDPCC_AddOn.jar。

> 示例：$ /usr/j2se/bin/jar -xvf JWSDPCC_AddOn.jar

> JWSDP 文件将被解压缩至当前目录中的 JWSDPCC_AddOn 目录。

> 6. 执行 JWSDPCC_AddOn.class

> 示例：$ /usr/j2se/bin/java JWSDPCC_AddOn appserver_install_dir appserver_instance_dir/domains/domain1/server1 remove

> 执行不带任何参数的 JWSDPCC_AddOn.class 将显示用法。

> 这将卸载 JWSDP 1.4 通用组件。

> ## 卸载后的步骤

> 卸载 JWSDP 1.4 通用组件之后，您必须执行以下步骤。

> 1. 重新配置已卸载 JWSDPCC_AddOn 包的服务器实例。
> 2. 重新启动 Application Server 实例。

> #

> 使用迁移工具

> 如果某个现有 J2EE 应用程序在其他供应商的应用程序服务器上运行，那么可以使用 Sun Java System 迁移工具迁移该应用程序，然后在 Sun Java System Application Server 7 2004Q2 Update 1 版本上运行。迁移后的应用程序将在 Sun Java System Application Server 7 2004Q2 版本上运行，而不必进行任何修改。但是，要使用高可用性功能，需要更改 sun-ejb-jar.xml 部署描述符的 DTD 版本，使其指向 sun-ejb-jar_2_0-1.dtd 而不是 sun-ejb-jar_2_0-0.dtd。

> #

> Sun ONE Studio 5 Standard Edition Update 1

> 可与 Sun Java System Application Server 一起使用的 Sun ONE Studio 5 Standard Edition 产品有自己的文档，可以在以下网址找到：

> http://docs.sun.com/db/prod/java.studio 和
> http://docs.sun.com/db/prod/java.studio?l=zh

> 您可以使用的其他 IDE 包括 Sun Java Studio 5 Standard Edition Update 1、Sun Java Studio Enterprise 6 2004Q1 和其他第三方 IDE（例如 Borland 的 JBuilder X）。

> #

> 其他要求和限制

> 安装 Sun Java System Application Server 软件之前，必须满足以下附加要求：

> - 对于所有平台
> - 对于 UNIX
> - 对于 Microsoft Windows

> ## 对于所有平台

> - 可用空间——临时目录中必须至少有 100 MB 的可用空间。

> 在 UNIX 上，可以使用 df 命令查看磁盘空间。

> - 可用端口——在所有平台上，必须具有四个未使用的端口。
> - 在安装过程中，需要为管理服务器分配一个端口，为 HTTP 服务器默认实例分配另一个端口。
> - 安装程序将检测已使用的端口，并为以下两项分配端口：Sun Java System Message Queue（默认为 7676）和 IIOP（默认为 3700）。如果这两个默认端口中的任何一个处于使用状态，安装程序将分配下一个可用端口（例如 7677 或 7678 等）。
> - 使用 uninstall 程序——如果要从系统中删除 Sun Java System Application Server，必须使用随 Sun Java System Application Server 软件一起安装的 uninstall 程序。如果尝试使用其他方法，则在试图重新安装同一版本或安装新版本时将出现问题。
> - 高可用性数据库 (HADB)
> - HADB 仅支持 IPv4。不支持 IPv6。

> ## 对于 UNIX

> - 超级用户权限——对于基于软件包的 Solaris SPARC 和 Solaris x86 分发，必须对目标计算机具有超级用户权限。

> 以超级用户身份进行安装时，请注意以下问题：

> - 对于基于文件的分发——可以以超级用户身份安装多个 Sun Java System Application Server，只要每次安装的安装目录不同即可。
> - 对于所有分发——可以在同一安装内运行多个实例。
> - 增强型操作系统——是指为提高安全性而删除了某些功能的操作系统。这种操作系统通常不允许在环境中运行基于 GUI 的应用程序。在增强型操作环境中，安装和使用 Sun Java System Application Server 7 需要以下两个库：
> - libC.so.5
> - libCrun.so.1

> 这两个库可以通过安装 SUNWlibC (Sun Workshop Compilers Bundled libC) 软件包来获得，该软件包包含在最终用户软件包群集（而非核心软件包）的 Solaris 分发中。

> - 为使系统更加安全，应执行 chmod 700 以保护重要目录。
> - 启动以前安装的服务器——如果目标计算机上有以前安装的应用服务器或 Web 服务器，则在开始 Sun Java System Application Server 安装过程之前必须启动这些服务器。这样，安装程序才能检测到已使用的端口，从而避免再将它们分配给其他项使用。
> - 高可用性数据库 (HADB)
> - 对于 Red Hat Linux AS 2.1，HADB 仅支持 ext2 文件系统，而不支持 ext3 文件系统。而对于 Red Hat Linux AS 3.0，既支持 ext2，也支持 ext3。
> - 由于 Red Hat Linux AS 3.0 上的过渡交换 (swapping) 问题，HADB 在与 Advanced Server 3.0 位于同一台计算机上，并在负荷下运行时，其稳定性和性能会遇到问题。

> 因此，在生产环境中建议不要在 RH3.0 上使用 HADB。

> ## 对于 Microsoft Windows

> - 管理员权限——要在 Microsoft Windows 上安装 Sun Java System Application Server 软件，必须具有管理员权限。
> - SNMP——安装 Sun Java System Application Server 软件之前，必须安装 SNMP 服务，否则 SNMP 子代理的安装将失败。
> - 关闭防火墙或防病毒程序——安装 Sun Java System Application Server 软件之前，必须先关闭任何防火墙或防病毒软件，这是因为某些软件在默认情况下会禁用所有端口。Sun Java System Application Server 安装程序必须能够准确确定哪些端口可用。
> - 在一台给定的 Microsoft Windows 计算机上，只能安装一个 Sun Java System Application Server。
> - 高可用性数据库 (HADB)
> - 必须将网络配置为可以进行 UDP 多址广播。

> #

> 访问文档

> Sun Java System Application Server 文档可通过多种方式获得：

> - 手册——可以在以下位置查看和下载 HTML 格式及可打印的 PDF 格式的 Sun Java System Application Server 手册和发行说明：

> http://docs.sun.com/db/prod/sjs.asse 和
> http://docs.sun.com/db/prod/sjs.asse?l=zh

> - 联机帮助——在图形界面上单击“帮助”按钮可以启动与上下文相关的帮助窗口。
> - 手册页——要在命令行查看手册页，必须先将 install_dir/man 添加到 MANPATH 环境变量中（仅限于 Solaris 非捆绑版本）。设置该变量后，可以通过在命令行键入 man command_name 来访问 Sun Java System Application Server 命令的手册页。例如：

> man asadmin

> #

> Sun Java System Application Server 7 2004Q2 Update 1 文档

> Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 手册是以联机文件的形式提供的，有可移植文档 (PDF) 和超文本标记语言 (HTML) 两种格式。

> 下表列出了 Sun Java System Application Server 手册中所介绍的任务和概念。以下手册已更新以适用于 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 版本。有关所有可用手册的完整列表，请参见 Web 上的文档（英文|中文）。

> 表 8 Sun Java System Application Server 文档

> 有关信息 | 请参见
> --- | ---
> 软件和文档的最新信息。其中包括以表格形式对所支持的硬件、操作系统、JDK 和 JDBC/RDBMS 所做的全面概述。 | 发行说明
> 安装 Sun Java System Application Server Standard and Enterprise Edition 软件及其组件，例如样例应用程序和管理界面。对于企业版软件，提供了实现高可用性配置的指导。 | 安装指南
> 在 Sun Java System Application Server 上创建可访问 J2EE 应用程序的应用程序客户机容器 (ACC) 客户机。 | 客户机开发者指南
> 有关从管理界面和命令行界面配置、管理和部署 Sun Java System Application Server 子系统和组件的信息和说明。其中包括以下主题：群集管理、高可用性数据库、负载平衡和会话持久性。此外还包括 Sun Java System Application Server 综合词汇表。 | 管理指南
> 在运行 Sun Java System Application Server 时可能出现的消息。其中包括对于可能原因的说明，以及关于如何找到产生消息的条件的指导。 | 错误消息参考
> 有关解决 Sun Java System Application Server 问题的信息。 | 问题解决指南

> #

> 已解决的问题

> 下表列出了在 Sun Java System Application Server 7 2004 Update 1 Standard and Enterprise Edition 版本中已解决的关键问题。

> 表 9 已解决的问题

> Bug ID | 说明
> --- | ---
> 2060927 | findByPrimaryKey 返回 Sybase 的 char 主键的不完整的 Bean。
> 2058376 | EJB 编译器无法生成内部类的有效 Java 代码。
> 2075012 | Application Server 的 asadmin 实用程序始终请求用于 SSL 启动的密码。
> 2076810 | Application Server 在部署 WAR 文件时崩溃。
> 2078410 | 停止并启动（重新启动）实例时，SNMP 不工作。
> 2078969 | 没有更新 iwsInstanceDeathCount。
> 2079436 | 在 Application Server 7.0 UR1 日文版中管理工具不能正常工作。
> 2079785 | 如果将 Bean 的远程接口命名为 Util，则部署会失败。
> 2080612 | 在启用 SSL 的情况下，使用 passthrough 插件访问 i18n 应用程序时，appservd.exe 会崩溃。
> 2081055 | 部署 jdbc/simple 样例应用程序时，会出现一条警告消息。
> 2081692 | 插件截断 XML 流。
> 2084205 | 如果 CMP pk 类具有非持久性公共字段，将出现 ArrayIndexOutOfBoundsException。
> 2092977 | 在 SSL 卸载器后运行的 Application Server 需要将通信从 HTTP 转换为 HTTPS。
> 2102329 | CMP 映射出错：Application Server Studio 插件报告字段没有有效的下限。
> 4739569 | 应不能访问具有“关闭”或“已禁用”状态的虚拟服务器。
> 4950512 | 无法将 J2EE 应用程序部署到在 Windows 上运行的 Application Server。
> 4953606 | 与 Microsoft IIS 一起使用时，Application Server passthrough 插件将 POST 请求一分为二。
> 4989269 | 如果用户 DN 中出现 /，LDAP 安全领域验证将失败。
> 4992519 | 只允许安装产品的用户执行卸载。
> 4994363 | 未正确更新安全角色映射。
> 5001994 | javax.servlet.http.HttpServletRequest.getRequestURI 返回解码的请求。
> 5004406 | --passwordfile 不能使用大小写混用的字符组合。
> 5011751 | 在带有查找器的 EJBQL 使用长型数据输入参数时，将无法部署 CMP。
> 5015561 | 如果 getMetaData() 抛出 ResourceException，则 JCA 将泄漏物理连接。
> 5015994 | 配置更改以改进即买即用性能。
> 5017695 | 没有 authentication-mechanism 无法部署 .rar。
> 5020224 | 如果标头格式不正确，则请求处理停止。
> 5021054 | 在装入 Java 时，EJB 类加载器未遵循 EJB 规范。
> 5025894 | 请求部分 JCA 1.5 功能。
> 5039545 | Web 容器发送导致外部负载平衡器或代理出现问题的绝对重定向。
> 5048147 | 使用 zh_CN 语言环境的 Application Server 在 server1 实例的 server.log 中具有错误编码的消息。
> 5052594 | 无法将带有多个键的 CMR 应用程序部署到 Application Server 7.0x。
> 5056695 | 未使用默认超级用户 CA 证书填充 Application Server 的信任数据库。
> 5063854 | 可以访问最近一次会话的信息。
> 2082209 | 使用 DB2 类型 2 驱动程序时，空闲超时后 DB2 服务器连接数不断增加。
> 2103829 | 损坏的事务日志文件挂起 Application Server。
> 2105120 | CNCtxFactory 和 S1ASCtxFactory 都不能用于通过编程方式重新连接。
> 2105121 | 如果目录服务器出现故障并且恢复，Application Server 不重新连接到目录服务器。
> 2120373 | 用户无法在 Application Server 容器内使用所有已证明的方法以使用第三方 ORB。
> 5063481 | 无法禁用跟踪方法。
> 6066323 | clsetup 在 Windows 上不工作。

> #

> 已知问题和限制

> 本节介绍 Sun Java System Application Server 7 2004Q2 Update 1 Standard and Enterprise Edition 的已知问题和相应的解决方法。

> 注 | 如果问题说明未指明特定平台，则所有平台都可能出现此问题。

> 本部分信息按以下内容进行组织：

> - 安装与卸载
> - 启动与关闭服务器
> - 数据库驱动程序
> - 日志记录
> - Web 容器
> - 消息服务和消息驱动 Bean
> - Java 事务服务 (JTS)
> - 应用程序部署
> - 验证器
> - 负载平衡器
> - 高可用性
> - 服务器管理
> - 样例应用程序
> - ORB/IIOP 侦听器
> - 国际化
> - 文档

> ## 安装与卸载

> 本节介绍已知的安装和卸载问题以及相应的解决方法。

> ID | 汇总
> --- | ---
> 6199912 | 在 Windows 平台上显示不必要的调试消息。 Windows 上的 Sun Java System Application Server Enterprise Edition 7 2004Q2 Update 1 是调试二进制文件。 解决方法 无
> 6199911 | 配置负载平衡器插件之后，Windows 上的 Sun Java System Web Server 无法启动。 用于 Windows 上的 Sun Java System Web Server 的 Sun Java System Application Server Enterprise Edition 7 2004Q2 Update 1 负载平衡器插件包含 Sun Java System Web Server 的负载平衡器插件缺陷。此缺陷导致 Sun Java System Web Server 无法启动。此缺陷不影响其他 Web 服务器（例如 Apache 和 Microsoft IIS）的负载平衡器插件，也不影响其他平台上的 Sun Java System Web Server 的负载平衡器插件。 现在，对于用于 Windows 上的 Sun Java Web Server 的 Sun Java System Application Server Enterprise Edition，存在动态链接库 (passthrough.dll) 解决方法。 解决方法 请与 Sun 技术支持部门联系，以获得用于 Windows 上的 Sun Java System Web Server 的最新负载平衡器插件。请参见“如何报告问题和提供反馈”。在不久的将来，将发行新的企业版二进制文件以解决此缺陷。
> 6155236 | asadmin create-domain 在 Red Hat Enterprise Linux AS 3.0 上挂起并且无法创建域。 在 Red Hat Enterprise Linux AS 3.0 上安装 Sun Java System Application Server 7 之前，必须先安装 compat-libstdc++（向下兼容的标准 C++ 库）。 解决方法 请在安装 Sun Java System Application Server 之前安装 compat-libstdc++。这些库包含在 Red Hat Enterprise Linux AS 3.0 的产品 CD 集中。
> 4742038 | 如果安装目录中包含非字母数字字符，则 Application Server 将不启动。 如果安装目录包含 #、空格或其他任何非字母数字字符，则 Application Server 将无法启动。在此情况下，将不创建服务器日志文件。Application Server 安装目录只能包含下列字符：字母数字、-（破折号）或 _（下划线）。安装过程中输入现有 Java 2 SDK 目录时也应遵循此规则。 解决方法 安装过程中，请指定一个名称中只包含字母数字、破折号或下划线字符的目录。
> 4742828 | 无提示安装程序不检查用户权限。 尽管交互式安装程序（GUI 或命令行）将检查用户是否具有适当的权限（是否为 UNIX 超级用户），但在无提示安装过程中不进行此检查。这样，后续安装会因为用户没有足够的软件包安装权限而失败。 解决方法 确保以适当的用户身份运行无提示安装。
> 4746410 | 在 Solaris 中，当在非默认位置安装 Application Server 时，基于软件包的安装程序会不检查适当位置的磁盘空间。 当在 Solaris 中的非默认位置安装 Application Server（使用基于软件包的安装程序）时，安装程序将不检查指定的目标目录中的磁盘空间，而是只检查默认目录位置 (/opt) 中的磁盘空间。 解决方法 在开始安装之前，确保 /opt 中具有足够的磁盘空间 (85 MB)，即使并不打算在 /opt 中进行安装。此外，确保目标目录中也具有足够的磁盘空间 (85 MB)。
> 4754824 | 在 Solaris 中，从 CD 上运行安装时出现错误消息。 将卷插入 CD-ROM 驱动器时，Solaris 卷管理会将下一个符号名分配给此卷。例如，如果两个 CD-ROM 都与缺省的正规表达式匹配，则它们将被命名为 cdrom0 和 cdrom。任何与添加的正规表达式相匹配的 CD-ROM 都会从 cdrom2 开始进行命名。这将记录在 vold.conf 手册页上。每次从 CD 安装 Application Server 时，CD-ROM 安装点都会在标签名后附加一个数字。第一次安装 CD 时，一切都顺利进行。在后续安装中，安装程序启动时会显示以下错误消息： IOException:java.io.FileNotFoundException:/cdrom/appserver7（装入默认的 flavormap.properties 文件 URL:file:/cdrom/appserver7#4/AppServer7/pkg/jre/lib/flavormap.properties 时，无此文件或目录） 解决方法 安装程序的功能不会受任何影响。但仍可以使用以下解决方法： 在命令提示符下输入 su 命令以及 root 用户口令，或者以 root 用户的身份登录，成为超级用户。命令提示符将更改为磅符号 (#)。 如果 /cdrom 目录不存在，请输入以下命令创建该目录： # mkdir /cdrom 安装 CD-ROM 驱动器。 注：vold 进程管理 CD-ROM 设备并执行安装。CD-ROM 可能会自动安装到 /cdrom/cdrom0 目录中。 如果正在运行文件管理器，会出现一个单独的文件管理器窗口，显示 CD-ROM 的内容。 如果 /cdrom/cdrom0 目录因未安装 CD-ROM 而为空，或者如果文件管理器未打开一个显示 CD-ROM 内容的窗口，请输入下列命令，以验证 vold 守护程序是否正在运行： # ps -e | grep vold | grep -v grep 如果 vold 正在运行，则系统将显示 vold 的进程标识号。如果系统未显示任何内容，请键入以下命令以终止此守护程序： # ps -ef | grep vold | grep -v grep 输入以下命令停止 vold 进程： # kill -15 process_ID_number 手动安装 CD-ROM： # mount -F hsfs -r ro /dev/dsk/cxtyd0sz /cdrom/cdrom0 其中 x 是 CD-ROM 驱动器控制器编号，y 是 CD-ROM 驱动器 SCSI ID 编号，z 是 CD-ROM 所在分区的分片。 现在已经安装了 CD-ROM 驱动器。有关安装步骤，请参见“在 Solaris 上安装和设置 CD 1”。
> 4757687 | 在 Solaris 中，在先前安装了 Administration Client 组件的系统上增量式安装 Application Server 组件会使安装不可用。 此问题会影响基于软件包的 Solaris 安装。如果在已经安装了独立 Administration Client 组件的系统上安装 Application Server 组件，并选择不同于最初安装 Administration Client 的目录，则最终的 Application Server 安装将不可用，即使报告安装已经成功。这是因为系统将检测到系统上已经安装了 Administration Client Solaris 软件包，因此这些软件包将不会作为Application Server 安装过程的一部分进行安装。这样，将缺少对产品功能至关重要的文件。 解决方法 尝试在同一 Solaris 系统上安装 Application Server 之前，先卸载独立的 Administration Client。 或者，也可以尝试进行增量式安装，但应将 Administration Client 的安装目录用于后续的 Application Server 安装。
> 4976715 | 在 Microsoft Windows 上，安装日志文件中出现了不需要的语句。 在 Microsoft Windows 平台上进行的 Sun Java System Application Server 7 Standard Edition 安装进程将在由环境变量 %TEMP% 所定义的目录下生成详细的安装日志。该日志文件名为 Sun_Java_System_Application_Server_install.b<timestamp>。该日志文件中包括安装进程有关的有用信息，还会显示语句“继续进行多 CD 安装”。 解决方法 可以忽略日志文件中的这些消息，这样做是安全的。
> 5006942 | 在 Windows 中，所创建的服务在升级后其启动类型被默认设置为“自动”。 解决方法 1. 打开 Windows 服务。 2. 将服务器的启动类型更改为“手动”。
> 5018162 | 如果在 Linux 上执行的是完全安装，并且已经安装了可用的 Message Queue，那么将安装两个 Message Queue 软件包。 解决方法 由于 Linux RPM 实用程序 4.2.1.xx 中存在一个错误，因此无法识别已安装的 Sun ONE Message Queue（标识为 imq）RPM。由于此原因，Application Server 安装程序将安装另一版本的 Sun ONE Message Queue RPM。要解决此问题，请在系统上安装 RPM 的 4.2.0.69 版本，或者在安装应用程序服务器之前卸载 Message Queue。 除非在以前的 Linux 系统版本中升级了 RPM 软件包，否则通常 Red Hat Enterprise Linux Advanced Server 3.0 中存在的是 RPM 的 4.2.1.xx 版本。
> 5027250 | 由于用户是非超级用户，因此无提示安装失败。 如果将 Application Server 安装中的状态文件用于无提示安装，并且该安装是由非超级用户执行的，那么安装将失败并显示以下消息：未选择可以进行安装的组件。组件列表为空，或者包含已经安装的组件。 解决方法 3. 打开状态文件进行编辑。 4. 将以“INSTALLED_AS_COMPONENTS”开头的行转换为注释行。 5. 使用修改后的状态文件再次执行无提示安装。
> 5052938、5052939 | Application Server 7 升级操作过程中出现的错误情况可能会导致从现有基本安装中意外卸载和删除产品和数据文件。 在某些情况下，执行从基本安装（即 SunOne Application Server 7.0）到 Sun Java System Application Server 7 2004Q2 的更新版本的升级操作可能会导致产品自动卸载，这将从系统中删除整个产品目录。要从此错误恢复，必须执行新的产品安装并重新配置安装以恢复其原始设置。 基于文件和软件包的安装都会受此问题的影响。 Application Server 7 使用 InstallSDK 框架来构建安装程序。当前的升级安装程序不使用事务升级，即对于组件的第一次安装和在现有组件基础上的安装没有任何区别。因此，如果升级安装失败或停止，它将回复到卸载序列（这将卸载产品文件）。这是 InstallSDK 框架的自动行为。 升级安装程序不会为了能够在升级失败时回复到原始状态而创建要被升级的文件的备份副本。 解决方法 请勿使用 Application Server 7 2004Q2 的升级功能。而应执行手动迁移，如下所示： 1. 停止所有用户应用程序。 2. 备份现有系统和配置。 3. 卸载现有应用程序服务器安装（即 Application Server 7.0）。 4. 安装新的产品版本（即 Sun Java System Application Server 7 2004Q2）。 5. 将所需的文件重新配置并恢复为所需的设置。 6. 重新部署所有用户应用程序。 如果必须升级，请在开始升级之前执行以下步骤： 1. 停止所有用户应用程序。 2. 执行完整的系统备份或应用程序服务器系统备份。 3. 在进行升级时停止或限制其他进程。 4. 如果升级失败，则从备份恢复文件。 5. 重新部署用户应用程序。

> ## 启动与关闭服务器

> 本节介绍已知的启动和关闭服务器的问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 4693581 | 在 Application Server 启动过程中，iMQ 代理失败，并出现 IOException: 没有足够的空间 同时启动 Application Server 和 IMQ 代理时，将出现此错误。appservd 进程尝试派生新的进程以启动 iMQ 代理，如果没有足够的交换空间将失败。 解决方法 在启动 Application Server 之前启动 IMQ 代理进程。例如：appserver_install_dir/imq/bin/imqbrokerd -name <appserver_instance_name> -port <jms-service port> -silent
> 4762420 | 防火墙规则可能会导致 Application Server 启动失败。 如果安装了个人防火墙，就可能会遇到此问题。如果在安装Application Server 的计算机上存在着严格的防火墙规则，则可能会导致管理服务器和应用服务器实例启动失败。特别要说明的是，管理服务器和应用服务器实例将尝试在 Application Server 环境中建立本地连接。由于这些连接尝试使用系统的主机名而不是本地主机的主机名来访问端口，因此本地防火墙规则可能会阻止此类尝试。 本地防火墙可能还会意外生成警告，声明发生了“Portal of Doom Trojan”攻击（例如，在端口 3700 上进行的 TCP 连接尝试）或类似的攻击，而实际上此类访问尝试是由 Application Server 进行的，它们对计算机不会构成任何安全威胁。在某些情况下，Application Server 用于各种本地通信的端口号可能与已知的常见攻击中使用的端口号相同。发生此问题时将出现以下情况： 管理和服务器实例日志文件包含连接异常，后跟此消息：CORE3186: 无法设置配置 解决方法 修改防火墙策略，以便允许 Application Server 尝试连接到本地系统中的端口。 要避免发出提示可能发生攻击的不准确警报，可以修改相关的规则，或更改 Application Server 所使用的冲突的端口号。 要确定管理服务器和应用服务器实例使用的端口号，请参见 server.xml 文件，该文件位于 Application Server 安装的以下位置： domain_config_dir/domain1/admin-server/config/server.xml domain_config_dir/domain1/server1/config/server.xml 其中 domain_config_dir 是初始服务器配置的位置。例如： Solaris 9 集成安装：/var/appserver/domains/... Solaris 8、Solaris 9 非捆绑安装：/var/opt/SUNWappserver7/domains/... 查找 <iiop-listener> 和 <jms-service> 元素中的端口设置。可以将这些端口号更改为其他未使用的端口号，也可修改防火墙策略，以允许本地计算机上的客户机尝试连接到同一台计算机上的这些端口号。
> 5003245 | 服务器在重新配置端口并重新启动之后在两个端口上进行侦听 解决方法 更改端口号后，使用 asadmin 命令（分别使用 asadmin stop-instance 命令以及 asadmin start-instance 命令）停止服务器，然后启动服务器。

> ## 数据库驱动程序

> 本节介绍已知的数据库驱动程序问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 2082209/5022904 | 使用 DB2 类型 2 驱动程序时，空闲超时后 DB2 服务器连接数不断增加 解决方法 将 SteadyPoolSize 和 MaxPoolSize 设置为相同数目，另外还要将空闲连接超时设置为 0（零）。这将禁用空闲连接超时，用户将可以使用完整的一组连接。
> 4700531 | 在 Solaris 中，出现 ORACLE JDBC 驱动程序错误。 这将影响与 JDK1.4 一起使用的、用于 Oracle(R) 的新 JDBC 驱动程序。此问题是由于同时使用 Oracle 9.0.1 数据库和 ojdbc14.jar 而引起的。应用修补程序可修复运行 Oracle 9.0.1.3 数据库的 Solaris 32 位计算机上的问题。 解决方法 从 Oracle Web 站点获取针对错误 2199718 的修补程序并将其应用于服务器。请执行以下步骤： 1. 转到 Oracle Web 站点。 2. 单击“修补程序”按钮。 3. 在修补程序编号字段中键入 2199718。 4. 单击 32 位 Solaris OS 修补程序。转到 Metalink.oracle.com。 5. 单击修补程序。 6. 在修补程序编号中输入 2199718。 7. 单击 32 位 Solaris OS 修补程序。
> 4991065 | 必须正确配置 Oracle JDBC 驱动程序以便与 J2EE 1.3 兼容。 解决方法 对类型 2 和类型 4 驱动程序应用以下配置： 1. 使用 9.2.0.3 或更高版本的 JDBC。 2. Oracle 数据库的参数 (init.ora) 文件中应具有 compatible=9.0.0.0.0 或更高版本。 3. 使用 ojdbc14.jar 文件。 4. 配置 Application Server 以定义以下 JVM 特性： -Doracle.jdbc.J2EE13Compliant=true 此外，对于类型 2 驱动程序，必须在启动 Application Server 的环境中定义 ORACLE_HOME 和 LD_LIBRARY_PATH（必须包括 $ORACLE_HOME/lib）。例如，将它们添加到 asenv.conf 文件并确保将其输出。

> ## 日志记录

> ID | 汇总
> --- | ---
> 5014017 | Appclient 日志记录服务不能正常工作 文件属性的默认值将不起作用。 解决方法 1. 创建日志目录。 2. 在 sun-acc.xml 文件中指定新创建的日志目录的完整路径。 在将日志记录到控制台的情况下，日志级别始终为“INFO”，而与日志级别设置（FINE、FINEST 等）无关。 适用于客户机的《管理指南》中指明日志位于 acc_dir/logs/client.log 中，但您必须创建日志目录，然后在 sun-acc.xml 文件中指定该目录的完整路径，从而使其发挥作用。

> ## Web 容器

> 本节介绍已知的 Web 容器问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 5089201/5001994 | getRequestURI() 在不应返回未编码的值时返回未编码的值。 解决此问题将中断早期的 NSAPI（例如 Portal Server 6.3）的客户机，这些客户机调用 getRequestURI() 并需要在返回数据时对 URI 进行自动解码。 因此，为了维护对早期的 NSAPI 客户机的向下兼容性，已添加了新的 JVM 选项以回复到旧的 NSAPI 行为并使 Portal Server 可以正常运行。 解决方法 在运行 Portal Server 的计算机上，启用 JVM 选项 -DJ2EEDecodeURI，以允许在调用 getRequestURI() 时使用 cookie-less 模式（和所有其他功能）。
> 4951476 | 安装 JWSDP 1.2(1.3) 时抛出 j avax.ejb.EJBException: org/dom4j/Element 错误。 解决方法 向 server.xml 文件中的 server-classpath 添加 dom4j-full.jar。该文件可以从 http://dom4j.org 下载，并应添加到 server-classpath 中的 appserv-jstl.jar 条目之前。
> 4997770 | HTTP 404 错误消息仍旧显示“Sun ONE Application Server” 将“Sun ONE Application Server”理解为 Sun Java System Application Server。

> ## 消息服务和消息驱动 Bean

> 本节介绍已知的 Java 消息服务 (JMS)、Sun Java System Application Server Standard and Enterprise Edition 以及消息驱动 Bean 方面的问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4683029 | 如果值包含空格，那么所有 MQ Solaris 脚本中的 -javahome 标志都将不起作用。 Sun ONE Message Queue 中的命令行实用程序包含一个 -javahome 选项，允许您指定替代的 Java 运行时。使用此选项会暴露一个局限性，即指定的替代 Java 运行时路径不能包含空格。以下是包含空格的路径示例： /work/java 1.4 启动 Application Server 实例时会出现此问题。启动 Application Server 实例时，缺省情况下其相应的 Sun ONE Message Queue 代理程序实例也将启动。该代理始终使用 -javahome 命令行选项启动，以确保与 Application Server 使用相同的 Java 运行时。如果配置为由 Application Server 使用（因此被传递以供代理使用）的 Java 运行时所在的路径包含空格，则代理启动将失败，同时导致 Application Server 实例启动失败。 解决方法 确保 Application Server 所使用的 Java 运行时所在的路径不包含空格。

> ## Java 事务服务 (JTS)

> 本节介绍已知的 Java 事务服务 (JTS) 问题和相应的解决办法。

> ### 恢复

> 某些 JDBC 驱动程序的恢复实现中存在一些已知的问题。对于这些已知的问题，Sun Java System Application Server 提供了一些解决方法。缺省情况下不会使用这些解决方法，除非明确指示要使用这些解决方法。

> - Oracle(R) JDBC 驱动程序的问题——Oracle XA Resource 实现的恢复方法重复返回同一组不确定的 Xid，不管输入标志为何。根据 XA 规范，事务管理器应首先通过 TMSTARTSCAN 调用 XAResource.recover，然后再通过 TMNOFLAGS 反复调用 XAResource.recover，直到不再返回 Xid 为止。

> Oracle XA Resource 的提交方法也存在一些问题，这些问题已在 Application Server 提供的解决方法中得到了解决。要实现此解决方法，应将以下属性添加到 server.xml 文件的 transaction-service 子元素中：oracle-xa-recovery-workaround

> 此属性值应设置为 True。

> - Sybase JConnect 5.2 的问题——JConnect 5.2 驱动程序存在一些已知问题，这些问题已在 JConnect 5.5 中得到解决。如果使用 JConnect 5.2 驱动程序恢复工作，应将以下属性添加到 server.xml 文件的 transaction-service 子元素中：

> sybase-xa-recovery-workaround

> 此属性值应设置为 True。

> ### 事务

> 在 server.xml 文件中，res-type 用于区分连接是非 XA 还是 XA。此区分用于标识数据源的配置以驱动数据。例如，在 Datadirect 驱动程序中，同一数据源既可以用作 XA 也可以用作非 XA。

> 数据源的缺省行为是非 XA。要使用事务的 connpool 元素将数据源行为设置为 XA，则需要 res-type。要使 connpool 元素起作用并参与事务，请为 server.xml 文件的 res-type 属性添加以下内容：

> res-type="javax.sql.XADataSource"

> ## 应用程序部署

> 本节介绍已知的应用程序部署问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4725147 | 无法选择特定虚拟服务器进行部署。 在此情况下，两个虚拟服务器会配置为使用完全相同的主机和侦听器。如果仅对第二个虚拟服务器部署应用程序，则无法到达此服务器，因为 host:port 组合会指向第一个虚拟服务器。 解决方法 虚拟服务器主机名不应与原始主机名相同，尤其是在使用了相同的 HTTP 侦听器的情况下。
> 4994366 | ejb-local-ref 与 ejb-link 的部署错误。 解决方法 ejb-local-ref 需要 ejb-link，因此在处理 ejb-local-ref 时，必须指定一个 ejb-link 值。

> ## 验证器

> 本节介绍已知的验证器问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4742545 | 独立验证器显示“未找到 EJB 类”错误。 验证器使用以下测试说明消息指示某些失败的测试：未找到 EJB 类。当某个 EJB JAR 文件使用企业 Bean，并同时引用在同一 EAR 应用程序中另一个 EJB JAR 文件内打包的企业 Bean 时，测试将失败。如果尝试验证连接器 (RAR) 从属的 EAR 文件，也会看到失败消息。这是因为 RAR 束无需在具有从属于 RAR 束文件的企业 Bean 的 EAR 文件中打包。仅当使用独立验证器时，才能发现失败（连接器相关的失败除外）。通过部署命令或管理界面调用的验证器不显示失败。 解决方法 确保应用程序 EAR 打包正确，如果使用的是任何实用程序 JAR 文件，则会将其打包到 EAR 文件中。要解决引用错误，可以使用 asadmin 或管理界面切换到通过部署后端调用的验证器。对于与连接器相关的失败，请将包含必需类的 JAR 文件放置到验证器的类路径中。可以打开 install_root/bin/verifier[.bat] 文件，并将 LOCAL_CLASSPATH 变量添加到 JVM_CLASSPATH 变量的后面。从本地将类添加到 LOCAL_CLASSPATH 变量中，然后运行验证器。

> ## 负载平衡器

> 本节介绍已知的负载平衡器问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 6155134 | 需要手动设置路径才能启动 Web 服务器。 在 Windows 上为 IIS 或 Apache 安装负载平衡器插件之后，请将 Application Server 的路径附加到 Path 环境变量中。 转至“开始”->“设置”->“控制面板”->“系统”->“高级”->“环境变量”->“系统变量”->“Path”，然后添加以下内容：appserver_install_dir\bin 必须重新启动计算机。
> 6067196 | 在启动 Apache 之前，Windows 上的 Apache 负载平衡器插件需要设置 NSPR_NATIVE_THREADS_ONLY=1 如果要在 Windows 上运行 Apache，请在启动 Apache Web 服务器之前设置环境变量 NSPR_NATIVE_THREADS_ONLY=1。 解决方法 转至“开始”->“设置”->“控制面板”->“系统”->“高级”->“环境变量”->“系统变量”->“新建”，然后输入以下名称和值对： 名称：NSPR_NATIVE_THREADS_ONLY 值：1
> 2117636 | 负载平衡器插件不检测应用程序服务器挂起 解决方法 无
> 2114278 | 遇到 URL 编码的 URL（特别是那些表示 printf 换码的 URL）时负载平衡器插件崩溃 解决方法 无
> 4761151、4825429、4981545 | 通过负载平衡器插件发送间歇性 SSL 和非 SSL 请求时中间表单和基本验证失败。显示“502 错误网关”错误消息。未使用默认设置维护代理到容器连接的持久性。 由于在应用服务器上进行的部署/取消部署和/或由于保持活动超时，或者由于负载平衡器连接池中的无效连接，负载平衡器释放了与应用服务器的持久性连接。发生此情况时，负载平衡器的某些请求将失败，并显示错误页面。通常，在频繁地尝试和测试部署/取消部署以及其他配置更改的开发环境中，会发生此情况。 解决方法 将应用服务器上的保持活动超时设置为 0。 使用基于 Web 的管理界面： 1. 启动管理控制台。 2. 选择“HTTP 服务器”->“微调”。 3. 在“HTTP 持久性连接超时”字段中，输入 0（页面上最后一个文本框） 4. 应用更改并重新启动应用服务器。 使用命令行界面： 1. 添加以下行：KeepAliveTimeout 0 in init.conf of appserver 2. 启动 asadmin reconfig 命令。 3. 重新启动应用服务器。
> 4962735 | 在 Linux 上，安装负载平衡器插件和 sec_db 文件之后，Apache Web Server 1.3.27 不启动。 解决方法 在 /src/MakeFile 文件中的“End of automatically generated section”之后、“OBJS= \”之前，添加以下行。另外，确保已经在特定位置安装了 Application Server 库： LIBS+= -licuuc -licuil8n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/space/SJSAS/installations/lib。 其中：/space/SJSAS/installations 是应用服务器安装的位置。有关详细信息，请参见《Sun Java System Application Server 管理指南》中的“编译 Apache Web Server”。
> 5018537 | 故障转移过程中显示出现 Identity Server/Application Server 集成服务不可用错误。 Loadbalancer.xml 使用“/”作为 Web 模块的上下文根路径。故障转移后，由于上下文根路径不存在，因此要指定一个默认字符串作为更新 JROUTE Cookie 的路径。这样就导致浏览器端上具有两个 JROUTE Cookie。 1. 旧的 JROUTE Cookie，使用“/”作为路径指向失败的实例。 2. 新的 JROUTE Cookie，使用“/Default”作为路径指向新的实例。 浏览器总是倾向使用旧的过期 Cookie (1)，因而会导致重定向和故障转移，并且有时候浏览器本身会失败。 解决方法 为所有 Web 模块都指定特定的上下文根路径。例如： <web-module context-root=appl enabled=true disable-timeout-in-minutes=60 error-url=appl-lberror.html /> <web-module context-root=app2 enabled=true disable-timeout-in-minutes=60 error-url=app2-lberror.html /> 故障转移后，JROUTE 就可以使用“/appl”作为路径，该路径是有效路径并可正常工作。
> 5007720 | 日志消息与 Web 模块中的错误 URL 的无效值不匹配。 如果将 loadbalancer.xml 文件的 web-module 标记中的 error-url 属性设置为一个无效值，例如下面所示的： <web-module context-root="app1" enabled="true" disable-timeout-in-minutes="60" error-url="abc"/> 那么将显示以下日志消息： 警告 (11113):报告:lb.configurator:XML_VALIDATOR_WARNING: 用于错误 URL sun-http-lberror 的格式无效。 但实际上日志消息应为： 警告 (20015):报告:lb.configurator:XML_VALIDATOR_WARNING: 用于错误 URL abc 的格式无效

> ## 高可用性

> 本节介绍已知的高可用性问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 无 | 如果在两个 HADB 节点之间有防火墙或 IP 过滤器，则无法创建 HADB。 如果有防火墙或 IP 过滤器，将阻塞 UDP 通信，使您无法启动 HADB，并且这也可能是无法启动 HADB 服务器的原因之一。 解决方法 在 HADB 节点之间禁用防火墙或基于主机的 IP 过滤器。
> 5097447 | 没有在 logstore 中进行垃圾收集。 问题如下 具有高负载和/或长期事务的数据库将用完日志缓冲区（也称为元组日志）中的资源或数据设备。可以通过历史记录文件中的以下错误消息识别此情况：HADB-E-04593: 数据设备上没有未保留的块或警告高负载: 将要用完元组日志空间。 说明 在共享内存中分配的日志缓冲区，用于保存用户事务的日志记录。压缩日志缓冲区时，属于活动事务的所有日志记录都将被移动到 logstore。logstore 以及用户数据都位于节点的数据设备（磁盘文件）上。当事务终止时，logstore 将被压缩。 解决方法 由于不压缩日志存储，因此可能的解决方法是分配更大的日志缓冲区，这样就永远不需要 logstore。增大 logBufferSize 时，请记住也要增大 deviceSize，因为节点的设备为 logstore 保留四倍的 logBufferSize。重新启动日志缓冲区/设备空间有高负载问题的节点时，也将清除日志存储。
> 无 | 共享内存段密钥已使用。（仅限于 Windows） 历史记录文件包含以下条目： 共享内存段密钥已使用 在受控停止之后，如果没有进行后续删除，则创建 HADB 实例时可能会出现上述条目。用户尝试使用与第一个 HADB 实例相同的 HADB portbase“重新创建”HADB 实例。 此问题也可能是由于删除 HADB 实例失败而造成的。 解决方法 您应当删除 HADB 实例，以确保在尝试重新使用任何 HADB 资源之前彻底删除所有 HADB 资源。如果问题仍然存在，则必须通过删除以下 HADB 文件手动删除 HADB 共享内存段：$TMP/f_*
> 5096062 | 使用 ctrl-C 无法停止 ma.exe。（仅限于 Windows） 问题如下 管理代理 ma.exe 正在运行。用户发出命令 ctrl-C 以停止该管理代理，但收到 ma: 内部错误: 无法找到 Java shutdown 方法 java.lang.NoSuchMethodError: shutdown。 这个问题只会出现在 Windows 平台上。 解决方法 使用 Windows 的任务管理器结束任务 ma.exe，或关闭执行 ma.exe 的窗口。
> 6156842 | 无法使用 hadbm 管理控制台在远程主机上创建 HADB 数据库（仅限于 Windows） 问题如下 hadbm 管理客户机与要创建的数据库位于不同的主机上。使用此客户机，尝试在其他主机上创建 HADB 数据库。 解决方法 set HADBM_AGENT=remote host:remote port
> 6064932 | asadmin configure-ha-cluster 显示来自 HADB 的 NullPointerException。（仅限于 Windows） 问题如下 在 Windows 平台上，HADB 管理代理日志和/或 Application Server 日志将包含 HADB 异常。 说明 在使用 IPv6 接口的主机上运行 asadmin configure-ha-cluster 命令时，HADB 管理代理将失败并抛出异常。HADB 无法处理 IPv6，并且在进一步处理之前无法过滤掉 IPv6 接口。 解决方法 HADB 仅支持 IPv4 地址。请勿使用 IPv6 地址。
> 6155745 | HADB 可能显示异常行为。（仅限于 Windows） 问题如下 异常行为可能是节点重新启动、网络分区或重新连接。 说明 当主机运行使用相同端口号并属于两个不同的管理域的两个节点时，其中一个域的消息可能会被传送到另一个域中的节点，从而导致混乱和异常行为。 解决方法 避免不同管理域的使用相同端口号的节点共享同一主机。
> 5091349 | 不支持异构安装路径。 不能在不同主机上的不同位置使用相同名称注册同一个软件包。 解决方法 HADB 不支持数据库群集中节点之间的异构路径。确保 HADB 服务器安装目录和配置目录在所有参与的主机之间均相同。
> 5042351 | 在添加新节点之后创建的新表将无法分布到添加的节点上。 问题如下 用户创建数据库实例，并给该实例添加节点，随后创建新表。 这些新表将无法在创建数据库之后添加的节点上被分段。仅当 hadbm addnodes 对数据库进行重新分段时，在运行 hadbm addnodes 之前创建的表才能使用添加的节点。 解决方法 添加新表之后，请运行 hadbm refragment。
> 5055449 | 网络出现故障时，命令 hadbm addnodes 和 hadbm create 应失败。（仅限于 Windows） 问题如下 在为数据库创建或添加节点时，hadbm 客户机不禁止用户为出现故障的网络指定网络接口（与 HADB 4.3 中不同）。 如果已将数据库配置为每个节点使用多个网络接口，并且在发出 hadbm 命令时某些接口出现故障，则命令可能成功，也可能失败（并且超时）。 解决方法 确保在运行 hadbm create 或 hadbm addnodes 之前两个网络均正常运行。
> 5063175 | 将具有一个网络的主机与具有多个网络的主机结合使用时，hadbm create 应抛出错误。（仅限于 Windows） 问题如下 在为 hadbm create 或 hadbm addnodes 命令指定的主机列表中，某些主机具有多个网络接口，而其他主机只有一个网络接口。当用户发出 hadbm create 或 hadbm addnodes 命令时，命令将挂起。 解决方法 如果主机具有多个网络接口，则在发出 hadbm create 或 hadbm addnodes 命令时，请指定 HADB 使用的网络接口的带点的 IP 地址（例如 129.241.111.23）。如果使用主机名而不是 IP 地址，将使用在主机上注册的第一个接口，并且不能保证节点能够进行通信。
> 5063393 | 在同一台计算机上运行两个管理代理时行为不一致。（仅限于 Windows） 问题如下 在一个主机上运行多个管理代理。这些代理使用相同的数据库和代理系统信息库数据目录。 说明 不同管理代理使用相同的 repository 目录时，它们将覆写彼此的数据。在管理命令中使用已损坏的数据时，将观察到不一致的行为。类似地，当两个节点使用相同的数据设备路径时，存储在数据库中的数据将损坏。 解决方法 对于每个管理代理，请在代理配置文件中为所有端口号和路径属性使用不同的值。
> 5064303 | hadbm create 可能会无限期地停止响应。（仅限于 Windows） 问题如下 以双网络配置运行时，如果主网络已发生故障（或在运行期间出现故障），则 hadbm clear 或 hadbm create 可能会无限期地挂起。 解决方法 停止数据库，并重试 hadbm clear 或 hadbm create。
> 5068879 | HADB 配置文件中使用的 IP 接口已废弃。（仅限于 Windows） 问题如下 如果在包含已废弃的 IP 接口的计算机上创建 HADB 服务器，并且在指定主机时使用了主机名，则可能会不小心将 HADB 服务器配置为使用已废弃的 IP 接口进行通信。 解决方法 在创建 HADB 服务器时，使用带点的 IP 地址（例如 129.241.111.23）来指定主机列表。
> 5074305 | hadbm disablehost 可能会将错误的异常传播到客户机。 问题如下 当用户运行 hadbm disablehost 时，用户可能收到以下错误消息： user@atum05:~/<2>clustra/javasrc> hadbm disablehost europa12 hadbm: 错误 22013: 命令失败，因为管理系统报告了异常: [HADB-E-21048: 丢失与 MA 的连接] 说明 如果在 disablehost 命令到达的同时管理代理检测到另一个代理已发生故障，则用户将收到此错误消息。 解决方法 重试命令 hadbm disablehost。
> 5079029 | 在一个主机上取消注册软件包可能会失败。（仅限于 Windows） 问题如下 在一个主机上取消注册软件包可能会失败，并显示以下错误：数据库实例正在使用软件包，无法将其删除（即使该主机上没有数据库或节点）。 说明 此错误会阻止使用命令 hadbm reducedomain hostX 缩减域的规模，在数据库存在并使用在 hostX 上注册的软件包时该命令将失败。错误消息将为：无法删除主机，因为数据库正在使用该主机。 解决方法 1. 将数据库升级为使用新的软件包，该软件包不能位于要从域中删除的主机上；或者 2. 在运行 reducedomain 之前删除所有数据库。
> 5098361 | hadbm create 失败，并出现错误 HADB-S-00240: 节点编号不合法。 在执行 hadbm create 时，显示以下错误消息： 命令失败: Node-<x> NSUP <时间戳> HADB-S-00240: 节点编号不合法 可能的原因是另一个进程占用了节点 x 上的 NSUP 进程尝试打开的端口。 解决方法 找到运行节点编号 x 的主机。检查旧的 HADB 节点或某个其他进程是否正在请求该主机上的此端口。停止该进程并重新运行 hadbm create 命令。
> 5095532 | 在软件包已被数据库使用后，hadbm unregisterpackage 将失败。 问题如下 HADB 软件使用 hadbm set package=newpackage 进行升级 说明 在使用命令 hadbm set package=oldpackage 升级软件之后，如果立即运行 hadbm unregisterpackage oldpackage，该命令将失败（即使没有任何数据库使用 oldpackage）。 解决方法 运行另一个操作，例如在 hadbm set 和 hadbm unregisterpackage 之间运行 set ConnectionTrace=previous value。
> 5089842 | hadbm deviceinfo 和 hadbm resourceinfo 显示错误的节点编号。 问题如下 查询数据库中资源的使用情况，数据库包含备用节点，以及稍后添加的活动节点。 说明 如果存在节点编号小于活动节点的节点编号的备用节点，则 hadbm deviceinfo 和 hadbm resourceinfo 命令将无法在 NodeNo 列中显示正确的节点编号。 解决方法 忽略节点编号，列出的节点为活动节点。
> 5095020 | hadbm refragment 不接受 -m 代理标志 hadbm refragment 和 hadbm restartnode 命令不接受 --agent（短形式为 -m）选项。 解决方法 将环境变量 HADBM_AGENT 设置为相关的代理 URL。
> 5097489 | hadbm 错误地报告“数据库已运行” 问题如下 在启动或重新启动管理代理之后，立即运行 hadbm start。 说明 命令可能会错误地响应，报告数据库已运行。 解决方法 等待几秒钟，然后重试命令。
> 5100800 | hadbm create 可能会失败，并显示“端口已使用”或“进程已运行” 只能在 Solaris 10 和 RedHat AS 3.0 上看到此行为。 说明 在节点启动过程中，hadbm create 可能会失败，并显示以下消息： HADB-S-00512: 进程已运行 HADB-S-05531: 对端口 "33144" 的套接字的操作失败，操作系统状态=98 消息: 地址已使用 两条消息均表明 HADB 所需的一个或多个端口最初可用，并在操作的设备初始化阶段已变为不可用。 解决方法 最多等待一分钟，然后重试 hadbm create。
> 5085354 | 使用不同配置的管理代理可能会导致数据库创建中的随机性 问题如下 对于具有使用异构配置（通常是默认的 devicepath 和 historypath 的设置不同）的代理的主机，运行 hadbm create。 说明 对于未在命令行中指定的属性，hadbm create 将使用其默认值。即使对于默认值代理有不同的设置，也将从 hadbm 连接到的代理中检索这些默认值。hadbm 连接到代理 URL（使用 --agent/-m/HADBM_AGENT 指定）内任意的代理，因此两次 hadbm create 调用可能使用不同的默认值。如果所有主机上都不存在路径，命令将失败。 解决方法 如果要创建使用异构路径（devicepath 和 historypath）的数据库，请明确指定所有路径。
> 5085432 | hadbm delete 可能会错误地报告丢失连接 由于未正确处理内部错误，hadbm delete 可能会报告丢失与管理代理的连接。在大多数情况下，操作将成功完成。 解决方法 连接到数据库节点所在的代理。如果看到丢失连接错误/异常，请运行 hadbm status databasename 来检查数据库是否已被删除。如果数据库仍然存在，请重试 hadbm delete。
> 5091280 | hadbm set 不检查资源可用性（磁盘和内存空间） 问题如下 使用 hadbm set 增加设备或缓冲区大小。 说明 在创建数据库或添加节点时，管理系统将检查资源可用性，但在更改设备或主内存缓冲区大小时则不会检查是否有足够的可用资源。 解决方法 在增大 devicesize 或 buffersize 配置属性之前，检查所有主机上是否有足够的可用磁盘/内存空间。
> 5083624 | 在没有初始化设备（和启动数据库）的情况下使用命令 hadbm create --noclear ... 创建数据库时，更改设备路径的第一个 set 命令将导致初始化所有设备（即使该命令仅应用于单个节点或设备）。（仅限于 Windows） 解决方法 无
> 5084173 | 命令 hadbm get node-N.nilogdevice.devicepath 列出一个节点上的所有设备，而不仅仅是指定的设备。（仅限于 Windows） 解决方法 忽略多余的信息。
> 4993553 | 命令 hadbm stop 在极少的情况下可能会失败。 问题如下 某个节点的事务服务器进程 (clu_trans_srv) 可能仍在运行。 解决方法 如果发生这种情况，必须手动停止进程（例如，UNIX 上的 kill，以及其他平台上的类似命令）。由于 trans_srv 进程负责存储数据，过早停止该进程可能会导致数据库处于不一致状态。在这种情况下，请清除数据库，而不要启动或重新启动数据库（清除数据库将删除其中的所有数据，然后启动数据库）。
> 5055596 | 停止数据库可能未完成。 问题如下 如果 HADB 节点必须与其他 HADB 节点或其他资源密集的进程竞争资源，则可能会出现此问题及类似的问题。 解决方法 HADB 节点需要专用的进程、用于其设备的专用磁盘，并且必须要有足够的物理内存以使 HADB 进程能够持续运行。决不能将 HADB 进程交换到磁盘。
> 5062009 | 在 repair 级别重新启动节点后，节点的修复无法完成。 解决方法 在 repair 启动级别手动重新启动节点。
> 5065375 | 具有备用节点的 HADB 系统无法启动。 由于一个或多个备用节点无法获得 OFFLINE 服务，可能会出现此问题。检验历史记录文件中所有备用节点的服务集。 解决方法 停止数据库，然后重新启动数据库。
> 5070436 | 被阻塞的节点无法重新启动。 问题如下 当节点监控进程检测到由于缺少系统资源节点被阻塞时间已超过 2.5 秒之后，节点管理器应重新启动该节点。有时可能未执行此操作。 解决方法 确保运行 HADB 节点的计算机具有足够的资源（CPU 和内存），以避免节点被阻塞的情况。
> 4861070 | 删除用户时，由系统用户以外的用户授予的所有权限未被撤销，使该用户的授权信息一直存储在 SQL 数据字典中。 解决方法 无
> 4873145 | 显示行过大错误。 说明 如果子查询中涉及包含具有 var-char/binary 列的元组的表，则这些列将临时被扩展为其最大可能大小，作为子查询结果的一部分。如果要显示的行超过了在 HADB 中定义的行大小所允许的最大值，将抛出行过大异常。即使行的实际内容的大小小于行大小所允许的最大值，也会生成此错误。 解决方法 减小 varchar/varbinary 列的最大大小，以使扩展为最大大小时，总的行大小不会超过 8080 字节。
> 4964923 | 有时，如果互斥例程中出现分段错误，SQL 服务器、SQLSHM 服务器或 RELALG 服务器进程会发生核心转储。（仅限于 Linux） 解决方法 客户机将收到丢失连接错误，并可以安全地重新连接到数据库服务器。
> 5068974 | Windows 桌面上显示带有文本 clu_sql_srv.exe: 应用程序无法正常初始化 (0xc00000142) 的弹出式窗口。事件日志中也记录了相同的消息。 问题如下 在 HADB 服务器日志中，您可以看到警告消息，例如服务器等待子进程超时，已等待 10 秒钟。当 HADB 创建了 60 至 80 个以上 SQL 服务器进程时，可能会出现此问题。如果在 HA 存储中配置了过多的 JDBC 连接，或者在 Application Server 实例出现故障之后立即重新启动，也可能出现此问题。 解决方法 1. 减少可对数据库创建的 JDBC 连接数，或者 2. 按照以下位置的过程更新 Windows 注册表： http://support.microsoft.com/default.aspx?scid=kb;[LN];184802 (Cause 2)。
> 4847716 | 使用 execute/executeUpdate 设置提交模式导致不必要的行为。 解决方法 使用标准 JDBC 选项 setAutocommit()。
> 4861326 | 语句池不识别命令 CREATE SCHEMA，也不识别隐式的 SET SCHEMA。 解决方法 在执行 CREATE SCHEMA x 之后执行 SET SCHEMA x。
> 5033645 | 在向服务器发送请求的 JDBC 操作期间中断线程，可能会导致 JDBC 驱动程序的 UDP 套接字关闭且丢失与 HADB 服务器的所有连接。 解决方法 重新启动应用程序。避免使用 thread.interrupt()。
> 5064502 | 在 JDBC 驱动程序和 HADB 之间出现网络问题期间，运行 JDBC 驱动程序的 JVM 可能会用完内存。 解决方法 解决网络问题。
> 5084132 | 信号例程不是线程安全的例程。 问题如下 与 HADB 节点的所有连接可能会挂起。 解决方法 重新启动 HADB 节点。
> 4831332 | 当用户使用 su 命令成为超级用户时，hadbm create 不起作用。 使用 su 命令成为超级用户时，HADBM 可能会报告对特定路径的访问问题。HADBM 需要超级用户的环境信息。 解决方法 使用 su - 切换为超级用户。
> 4843422 | HADB 连接池丢失，随后服务器用完所有连接。 部署多个应用程序时可能会用完 HADB 所允许的最多连接，从而导致应用程序出现故障。 解决方法 部署应用程序之后，重新启动 HADB 服务器。
> 4846432、4846691、4972881 | hadbm 管理客户机不能显示正确的数据库状态。 从某一台管理客户机计算机上创建的 HADB 实例无法从另一台用作管理客户机的计算机上进行访问。 例如，如果计算机 1 用于 hadbm create hadb-database，其他 hadbm 命令（例如 hadbm status hadb-database）对计算机 2 将不起作用。这些命令将报告数据库不存在。 解决方法 办法一：使用用于创建数据库的同一台客户机计算机。 办法二：如果不得不使用其他客户机计算机，则必须首先使该新客户机了解此 HADB 实例。执行以下步骤，以使新的客户机了解 HADB 实例： 1. 在计算机 2 上安装 HADB Administration Client（如果尚未安装）。 2. 在计算机 2 上创建 configpath 的路径（如果尚不存在）。 3. 将在 configpath 目录中找到的 .cfg 和 .def 文件从其中一台服务器（或从计算机 1）复制到此目录。 4. 在 .cladmrc 文件中添加一个条目，使 hadbm 了解配置路径。 要查找配置文件，请执行以下步骤： hadbm 在 .cladmrc 文件中搜索包含指向指定数据库的配置文件路径的条目。.cladmrc 文件应当位于要运行 hadbm 的主目录上。.cladmrc 文件中的数据库条目应具有以下格式： databasename:configpath:howtoaccess 示例 1： hadb:/home/hadb/config:NFSMNT 示例 2： hadb1:/dsk0/dbdef:machine2 在第一个示例中，配置路径可以通过 NFS 进行访问，而在第二个示例中，仅能在名为“machine2”的主机计算机上从本地进行访问。根据需要选择 NFS 或本地文件系统。
> 4855623 | 关闭其中一个节点的主机时，hadbm stop 命令无法退出。 如果 HADB 节点由于网络问题而接收不到关闭消息，则 hadbm stop 命令可能会无法完全关闭数据库。通常出现的情况是 hadbm 要用超过 60 秒的时间来完成操作。在这种情况下，hadbm stop/delete 命令将无法正常运行。用户必须指定要关闭的节点。 解决方法 1. 使用 hadbm status nodes 命令来确定哪些节点仍处于活动状态。 2. 为每个正在部分运行的特定节点运行 hadbm stopnode -f node_number 命令。
> 4861337 | 在执行 hadm stopdb 时，如果有一个活动数据节点出现故障，则 hadm startdb 也将失败。 如果数据库无法启动，则 hadbm status 应返回不可操作状态。 解决方法 要纠正此问题： 1. 运行 hadbm clear --fast 如果在系统中的每台计算机中运行此命令均报告地址正在使用类型的故障，应登录并终止以 clu_ 开头的所有进程。 2. 重新运行 hadbm clear --fast 命令。 这将重新启动数据库，从而导致丢失所有数据。 3. 重新创建会话存储。 有关创建会话存储的详细信息，请参见《Sun Java System Application Server 管理指南》。
> 4958827 | 子进程事务无法响应。 如果一台主机计算机容纳了多个 HADB 节点，并且所有节点都使用同一磁盘来放置其设备，则会发现磁盘 I/O 将成为瓶颈。由于 HADB 进程总是要等待异步的 I/O，因而无法响应节点监控程序的心跳检查。这样就导致节点监控程序会重新启动该进程。此问题可能会在任一操作系统中发生，而在 Red Hat Linux AS 2.1 和 Red Hat Linux AS 3 中的确发现了此问题。 解决方法 使用不同的磁盘来放置属于同一计算机上的不同 HADB 节点的设备。
> 5042351 | 如果创建了一个数据库实例并向其中添加了节点，那么以后创建的任何新表都将无法在创建数据库之后添加的节点上进行分段。只有在运行 hadbm addnodes 之前创建的表才能在 hadbm addnodes 对这些表进行重新分段之后使用新节点。 解决方法 生成数据库以后，先将用户数据放置到其中，然后再添加节点。如果一开始就需要较多节点，则创建带有所需的全部节点的数据库。如果要添加节点，请等到创建用户数据后再添加。否则，添加的节点将不能用于存储数据。
> 无 | 使用双网络配置 HADB 使用两个子网上的双网络进行配置的 HADB 可以在 Solaris SPARC 中正常工作。但是，由于某些硬件平台上存在操作系统或者网络驱动程序的问题，因此已发现在 Solaris x86 和 Linux 平台上不能正确处理双网络。这就导致 HADB 出现以下问题： 在 Linux 上，某些 HADB 进程的消息传送被阻塞。这将导致 HADB 节点重新启动以及进行网络分区操作。 在 Solaris x86 上，如果网络失败，IP 接口可能会挂起。如果发生这种情况，则重新引导计算机以解决问题。 Sun Java System Application Server 7 Enterprise Edition 不支持多路径和链路聚合。有关详细信息，请与 Sun 客户支持联系。
> 6178228/ 6179010 | configure-ha-cluster 失败 说明 使用一些主机名创建 HADB 域，并且操作成功。hadbm listdomain 命令确认了上述情况： $ hadbm listdomain -w admin Hostname Enabled?Running?Release Interfaces europe100 Yes Yes V4-4-1-3 128.139.113.110 europe111 Yes Yes V4-4-1-3 128.139.113.111 然后，使用 hadbm create 命令创建数据库，为 hostname 指定完整域名，作为 --hosts 选项的参数。例如： $ hadbm create --hosts=europe100.xyz.abc.com,europe111.xyz.abc.com .. 收到以下错误： hadbm: 错误 22176: 主机 europe100.xyz.abc.com 未在 HADB 管理域中注册。请使用 hadbm createdomain 设置管理域，或使用 hadbm extenddomain 在现有域中包含新主机。 解决方法 可能的解决方法有两种： 1. 使用 hadbm listdomain 显示的名称： 例如：hadbm create --hosts=europe100,europe111 .. 2. 使用十进制 IP 地址 (DDN) 例如：hadbm create --hosts=128.139.113.110,128.139.113.111
> 6174676/ 6179084 | 无法运行 configure-ha-cluster。 说明 您安装了两个不同版本的 HADB，其中一个在服务器上，另一个在 hadbm 客户机主机上。启动其中一个版本的管理代理，然后使用另一个版本运行 hadbm create。收到以下错误： HADBMGMT007:hadbm create 命令失败。返回值: 1 STDOUT: STDERR: hadbm: 错误 22170: 在主机 hostname 的 pacakgepath/4.4-x 路径下找不到软件包 V4.4.x。 CLI137 命令 configure-ha-cluster 失败。 解决方法 管理代理和 hadbm 客户机使用相同的 HADB 版本。
> 5103186 | 在一个网络出现故障的情况下，NSUP 无法在 Windows 2003 上启动。 说明 如果已将 HADB 配置为在 Windows 2003 上使用双网络，并且一个网络出现故障，则节点将无法重新启动。因此，只要一个节点出现故障，它就将保持故障状态。 解决方法 请勿将 HADB 配置为在 Windows 2003 上使用双网络。

> ## 服务器管理

> 本节包含以下主题：

> - 命令行界面 (CLI)
> - 管理体系
> - 管理界面

> ### 命令行界面 (CLI)

> 本节介绍已知的命令行界面问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4676889 | 如果命令包含的字符多于 256 个，则 CLI 命令在单模式下溢出。 在 UNIX(R) 中，在单模式下执行包含多于 256 个字符的 CLI 命令时，命令失败并显示以下错误：...未找到命令... 这是终端限制，而非 CLI 限制。 示例： create-jdbc-connection-pool --instance server4 --datasourceuser admin --datasourcepassword adminadmin --datasourceclassname test --datasourceurl test --minpoolsize=8 --maxpoolsize=32 --maxwait=60000 --poolresize=2 --idletimeout=300 --connectionvalidate=false --validationmethod=auto-commit --failconnection=false --description test sample_connectionpoolid) 解决方法 1. 对于需要多于 256 个字符的命令，请使用 CLI 多模式。 2. 如果必须使用单模式，请使用 OpenWin cmdtool 运行命令。

> ### 管理体系

> 本节介绍有关管理体系的已知问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4686003 | 未强制执行 HTTP 服务质量限制。 服务质量 (QOS) 包括指定 HTTP 连接的最大数目和带宽限制的方法。当超过这些属性时，应向客户机返回 503 错误。但是，通过管理界面启用 QOS 后，服务器未强制执行 QOS 限制。 解决方法 要完全启用 QOS 功能，必须手动将 AuthTrans fn=qos-handler 行添加到虚拟服务器的 obj.conf 文件中的缺省对象的顶部。Developer's Guide to NSAPI 中介绍了 qos-handler 服务器应用程序功能 (SAF) 和 obj.conf 配置文件。
> 4740022 | 添加和启动新的实例服务器时，返回 SNMP: END OF MIB。 如果在添加和启动新实例时未关闭实例服务器和子代理，则会返回 END OF MIB 消息。 解决方法 1. 要查看新实例，请确保已关闭子代理和所有实例服务器进程。在每个服务器 ->“监视”->“启用 SNMP 统计集合: 打开”下，应用更改，然后重新启动每个实例服务器，并仅再启动一个子代理进程。 2. 如果子代理已处于运行状态，请不要在任何实例中启动任何额外的子代理进程。Application Server 安装只能有一个主代理和一个子代理（所有域/实例均如此）。
> 4865739 | 对 server.xml 中实例端口的否定性测试损坏了 domains.bin 如果端口号和/或 IP 地址中包含字母字符，将无法创建任何新实例，并且将无法管理当前实例。 解决方法 1. 编辑 server.xml 文件及其备份文件，并更正端口号和/或 IP 地址。 2. 使用 keepmanualchanges=true 选项执行 asadmin reconfig 命令。 3. 使用管理界面，通过在“管理”树中选择实例名来停止实例。 4. 重新启动管理服务器和应用服务器实例。

> ### 管理界面

> 使用管理界面时，请确保已将浏览器配置为检查更新版本的服务器页面，而不是从高速缓存选择这些页面。通常，缺省浏览器设置不会导致出现问题。

> - 在 Internet Explorer 中，请确保“工具” ->“设置...” ->“检查更新版本的存储页面:” 未设置为“永不”。
> - 在 Netscape 中，请确保“编辑” ->“首选项...” ->“高级” ->“高速缓存” ->“比较高速缓存中的页面与网络上的页面:” 未设置为“永不”。

> 本部分介绍已知的管理图形用户界面问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 4725473 | 外部证书昵称未显示在管理界面的“昵称”列表中。 如果通过 Application Server 管理界面安装外部证书，则会在尝试使用安装在外部加密模块上的证书为 HTTP 侦听器启用 SSL 时遇到问题。即使成功完成了证书的安装，证书昵称也不会显示在管理界面中。 解决方法 1. 以管理员用户身份登录安装了 Application Server 软件的系统。 2. 将 http 侦听器链接到安装在外部加密模块上的证书。执行 asadmin 命令。有关 asadmin 命令的更多信息，请参见 asadmin(1M) 手册页。 /sun/appserver7/bin/asadmin create-ssl --user admin --password password --host host_name --port 8888 --type http-listener --certname nobody@apprealm:Server-Cert --instance server1 --ssl3enabled=true --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1 此命令将建立证书与服务器实例之间的链接，但并不安装证书（已使用管理界面安装了证书）。即使将证书链接到 http 侦听器，http 侦听器也会在非 SSL 模式下进行监听。 3. 使用以下 CLI 命令使 http 侦听器在 SSL 模式下监听。 /sun/appserver7/bin/asadmin set --user admin --password password --host host_name --port 8888 server1.http-listener.http-listener-1.securityEnabled=true 此命令将服务器实例的监听状态从非 SSL 切换到 SSL。 完成前面的步骤后，证书将显示在管理界面中。 4. 现在可以使用管理界面根据需要编辑 HTTP 侦听器。
> 4760939 | SSL：由 certutil 生成的自签名证书未显示在“证书昵称”列表中。 自签名证书由 certutil 生成，且“证书昵称”未显示在管理界面中。 解决方法 要使用自签名证书，必须手动编辑 server.xml 文件。
> 4991824 | 从管理控制台启用 SSL 后，重新启动超时。 解决方法 启用 SSL 时，停止服务器，然后再启动该服务器，而不是重新启动实例。
> 4988332 | 在未做出任何更改的情况下出现了“应用所需的更改”图标。 在管理控制台中，当查看 Application Server 实例的特性或设置时，在并未对设置做出任何更改的情况下出现了“应用所需的更改”图标。 解决方法 此消息仅出现一次，且不会对 Application Server 做出任何更改。因此出现此消息时选择“应用更改”即可。
> 5011969 | 在 Solaris x86 上，管理界面中的 HTTP 侦听器和 IIOP 侦听器页面给出错误。 解决方法 某些版本的 jss3.jar 会导致此问题。有以下两种解决方法： 对于修补程序级别 115924-03、115925-03、115926-03 和 115927-03，使用更高版本升级 SUNWjss 软件包。 请按照此处的说明从服务器的类路径中删除 jss3.jar 的路径： 1. 打开 server.xml 以进行编辑。 2. 从类路径中删除 usr/share/lib/mps/secv1/jss3.jar。 除非已明确对其进行修改，否则这是类路径中的第一个条目。 3. 保存 server.xml 并运行 asadmin reconfig。 4. 在启动服务器实例之前，还需要重命名 jss3.jar。

> ## 样例应用程序

> 本节介绍已知的样例应用程序问题和相应的解决办法。

> ID | 汇总
> --- | ---
> 4739854 | 使用 asadmin 部署资源所需的说明。 在某些样例文档中，会指示您使用 asadmin 命令部署应用程序，但并没有提供创建所需资源方法的说明。 解决方法 您可以使用 asadmin 命令部署应用程序/资源，并可以通过参考样例的 build.xml 文件获取更多信息。也可通过运行 asant deploy 在打印输出中找到更多信息。 针对 JDBC/BLOB 示例，下列步骤使用 asadmin（假设主机名为 jackiel2，且管理服务器的用户名/密码/端口是 admin/adminadmin/4848）创建资源： asadmin create-jdbc-connection-pool --port 4848 --host jackiel2 --password adminadmin --user admin jdbc-simple-pool --datasourceclassname com.pointbase.jdbc.jdbcDataSource --instance server1 asadmin set --port 4848 --host jackiel2 --password adminadmin --user admin server1.jdbc-connection-pool.jdbc-simple-pool.property.DatabaseName=jdbc:pointbase:server://localhost/sun-appserv-samples
> 4993620 | 使用多个 XA 连接时用 false 调用 afterCompletion()。 使用 samples/transactions/ejb/cmt/bank 应用程序的经修改的版本 - BankBean ejb 将连接两个数据库。一个用于检查 a/c，另一个用于进行保存。有两个已创建的连接池，它们是为 oracle.jdbc.xa.client.OracleXADataSource 数据源而配置的连接池，并且全局事务已经打开。 运行独立的客户机，该客户机将转移某些平衡，并恢复平衡的检查和保存，从而生成三个远程调用 - transferBalance()、getCheckingBalance() 和 getSavingsBalance()。 可以发现用于 getCheckingBalance() 调用的 afterCompletion 是使用 committed=false 进行调用的，尽管所有数据库操作都是成功的。 例如，执行了以下命令： appclient -client /space/S1AS/installation/domains/domain1/server1/applications/j2ee-apps/transactions-bank_13/transact -name BankClient -textauth com.sun.jndi.cosnaming.CNCtxFactory iiop://localhost:3700 结果：afterCompletion() 使用 false 进行调用，即使对于使用多个 XA 连接并仅执行只读数据库操作的有状态会话 Bean 来说，tx 是成功的。 解决方法 当前 JTS 实现无法解决此问题。
> 5016748 | 对使用 Java 客户机运行 SFSB 故障转移样例应用程序的描述不正确。 样例应用程序文档中用于运行 SFSB 故障转移样例应用程序的 Java 命令错误。 解决方法 以下是对使用 Java 客户机运行 SFSB 故障转移的正确描述： 使用基于 RMI/IIOP 的本地或远程客户机而不通过 ACC 来运行 sfsbFailover 样例： Java 客户机不使用 Application Client Container 的接口来执行。它可以在本地计算机 (ashost) 或远程计算机上执行。客户机应用程序从命令行开始运行，即 java -Djava.library.path=$AS_INSTALL/lib:/usr/lib/mps -Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer -Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton -Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate -classpath <CP> <ClientApp> java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory com.sun.appserv.iiop.loadbalancingpolicy=ic-based com.sun.appserv.iiop.endpoints=host:port,host:port 其中： CP 包括用于 CLASSPATH 的五个 jar 文件，它们是 sfsbFailover.jar、appserv-rt.jar、appserv-ext.jar、appserver-rt-ee.jar 以及 appserv-admin.jar。 文件 sfsbFailoverClient.jar 是从部署目录复制到当前目录的，部署目录为：install_dir/domains/domain1/server1/applications/j2ee-apps/sfsbFailover_1 其他 jar 文件是从 AS 安装复制到当前目录的，AS 安装位于：install_dir/lib 如果想要在远程计算机上运行客户机应用程序，则需要将 sfsbFailoverClient.jar 以及其他三个应用服务器 jar 文件传送到该客户机计算机上。尽管本示例中使用的是 sfsbFailoverClient.jar 文件来运行包含或不包含 ACC 的应用程序客户机，但实际上它包含的文件多于未使用 ACC 的情况下所必需的文件。要在远程计算机上运行不包含 ACC 的该示例，最少需要 appserv-ext.jar 文件以及下列从 sfsbFailoverClient.jar 文件提取的文件： samples/ejb/stateful/simple/ejb/Cart.class - 远程接口 samples/ejb/stateful/simple/ejb/CartHome.class - 主接口 samples/ejb/stateful/simple/ejb/_Cart_Stub.class - 远程存根 samples/ejb/stateful/simple/ejb/_CartHome_Stub.class - 主存根 samples/ejb/stateful/simple/client/CartClient.class - 客户机应用程序主类 appserv-ext.jar 文件在客户机计算机上是必需的，因为它包含客户机所需的 javax.ejb 软件包以及客户机可能会需要的 J2EE API 的实现和接口。 ClientApp 是指客户机程序。在本示例中为：samples.ejb.stateful.simple.client.CartClient
> 5016748 续 | URL 是指以逗号分隔的列表，其中包含在群集中运行的应用服务器的主机名（例如 ashost）和 ORB 端口（例如 3700）。例如， ashost:3700,ashost:3701,ashost:3702 以下是此命令的完整示例： java -Djava.library.path=$AS_ISNTALLlib:/usr/lib/mps -Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory -Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer -Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB -Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton -Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate -classpath sfsbFailoverClient.jar:appserv-ext.jar:appserv-rt.jar:appserv-rt-ee.jar:appserv-admin.jar samples.ejb.stateful.simple.client.CartClient java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactory com.sun.appserv.iiop.loadbalancingpolicy=ic-based com.sun.appserv.iiop.endpoints=localhost:3700,localhost:3701 运行此命令之前，请将 $AS_INSTALL/lib 和 /usr/lib/mps 包括在 LD_LIBRARY_PATH 中。 您将看到交互式控制台，它可以帮助您测试 SFSB、InitialContext、主引用和远程引用的高可用性。创建 InitialContext 之后，按 Enter 键。则该引用将被故障转移到另一个可用的服务器实例中。您也可以使用同样的方式测试主引用、远程引用的故障转移行为。
> 5016656 | 样例文档指向错误的 PointBase 启动脚本路径。 startserver.sh 的路径被错误地记录为 pointbase_install_dir/tools/server/startserver.sh。 解决方法 PointBase 启动脚本的正确路径为 pointbase_install_dir/client_tools/server/startserver.sh。
> 5016647 | JWSDP 1.0_01 中的 Coffee Break 应用程序发生 Indent-amount 问题。 运行 Coffee Break 样例应用程序时显示以下错误： 错误: 未识别输出特性 indent-amount 解决方法 这是 JWSDP 1.0_01 中已知的一个问题。要避免此问题，可以使用高于 1.1 的 JWSDP 版本。

> ## ORB/IIOP 侦听器

> 本节介绍有关 ORB/IIOP 侦听器的已知问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4743419 | RMI-IIOP 客户机在查找 IPv6 地址时无法正常工作，因为 IPv6 地址的 DNS 地址查找失败。 如果 IPv6 地址的 DNS 查找失败，则在查找 IPv6 地址时，Remote Method Invocation-Internet Inter-ORB Protocol (RMI-IIOP) 的客户机无法正常工作。 解决方法 应该在部署网站上设置域名服务 (DNS)，以便查找 IPv6 地址。
> 5017470 | 由 Application Server 所指定的默认 IIOP 端口号是随机生成的。 当创建新的 ORB 侦听器或 IIOP 端点时，IIOP 端口值将根据创建的是 ORB 侦听器还是 IIOP 端点而不同。 1. 创建新的 ORB 侦听器 > IIOP 端口值不能保留为空，但是不存在表示“必须指定”条目的“*”。尽管在服务器安装期间创建的默认侦听器的端口值为 3700，但所显示的默认值为 1072。 2. 创建新的 IIOP 端点 > 所显示的默认 IIOP 端口值为 3600。如果所创建端点的端口值保留为空，则所创建的 IIOP 端点的 IIOP 端口值为空。 3. 如果创建新的服务器实例，则默认的 ORB 侦听器端口值可以是任意大的数值，通常为 > 30000。 解决方法 IIOP 端口值不应超过 32767。如果配置的端口值超出了此范围，那么在故障转移过程中会出现连接失败。为服务器配置 IIOP 侦听器时，请确保其端口值在此范围之内。

> ## 国际化

> 本节介绍已知的国际化和本地化问题以及相应的解决方法。

> ID | 汇总
> --- | ---
> 6174147 | 安全性 DB 错误消息中换行前存在多余的 ? 标记。 当服务器操作系统和管理 GUI 的字符集不同时，通常会出现此问题。 解决方法 忽略多余的字符。
> 6181737 | 尝试停止 SNMP 主代理之后显示乱码错误。 解决方法 确保与 Application Server 使用相同编码语言环境在浏览器中启动管理 GUI。
> 6177462 | 使用 DefaultWebModule 值创建/删除虚拟服务器时抛出英文错误。 解决方法 无
> 6182384 | 从 Sun Java System Application Server 7 2004 Standard and Enterprise Edition 升级后，Http 侦听器页面抛出异常。 解决方法 请参见 Bug ID 5011969。
> 6178355 | 错误: 在管理 GUI 中选择“应用更改”后，出现 UTF-8 字符有问题——是否缺少 XML 编码声明？ 在 Red Hat Linux Advanced Server 3.0 上，英文和日文语言环境中会出现此问题。 解决方法 再次选择“应用更改”（显示错误消息后）。
> 6183064 | MQ 的本地化软件包 (SUNWciquc) 不是由 Application Server 安装程序安装的。 解决方法 如果需要此软件包，请在安装 Application Server 后手动添加此软件包。SUNWciquc 软件包与 Application Server 软件包位于产品 CD 中的相同目录下。 使用 pkgadd 命令添加此软件包。

> ## 文档

> 本节介绍已知的文档问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 4970418 | 在 create-ssl 手册页中，--certname 与 cert_name 之间缺少一个空格。 解决方法 --certname 选项的正确语法如下所示： --certname cert_name
> 4993601 | 显示 Application Server 7 Enterprise Edition 的过期帮助文件。 解决方法 如果先前安装了其他版本的 Sun Java System Application Server（例如，Application Server 7 Enterprise Edition），则应确保 MANPATH 环境变量指向当前的安装目录。
> 5008199 | delete-jvm-options 手册页的示例部分出现文档错误。 该示例应为： asadmin delete-jvm-options --user admin --password adminadmin --host localhost --port 4848 --instance server1 -- "-Djava.security.policy=/var/opt/SUNWappserver7/domains/domain1/server1/config/server.policy"

> #

> 可重新分发的文件

> Sun Java System Application Server 版本 7 2004Q2 Update 1 不包含任何可重新分发的文件。

> #

> 如何报告问题和提供反馈

> 如果您在使用 Sun Java System Application Server 时遇到了问题，请用以下方式之一与 Sun 客户支持联系：

> - Sun 联机软件支持服务：
>   http://www.sun.com/service/sunone/software

> 此站点上有一些链接，通过这些链接可以访问知识库、联机支持中心和产品跟踪器，还可了解维护方案以及用于联系支持部门的电话号码。

> - 随维护合同一起分发的电话号码

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

> - 问题的说明，包括问题发生时出现的情况以及它对操作的影响
> - 计算机类型、操作系统版本，以及产品版本，包括可能导致问题的任何修补程序和其他软件
> - 操作的详细步骤，以便再现问题
> - 任何错误日志或信息转储

> 您还会发现订阅以下兴趣组是很有用的，您可以在其中讨论 Sun Java System Application Server 的相关主题：

> snews://<YourNewsForum>

> snews://<YourSecondNewsForum>

> ## Sun 欢迎您提出建议

> Sun 非常重视改进产品文档，欢迎您提出意见和建议。请通过基于 Web 的表单向 Sun 提供反馈：

> http://www.sun.com/hwdocs/feedback

> 请在相应的字段提供完整的文档标题和文件号码。文件号码是一个七位或九位的数字，可以在书的标题页或文档的顶部找到。例如，本发行说明文档的文件号码为 819-1500。

> #

> 其他 Sun 资源

> 可以在以下 Internet 位置找到有用的 Sun Java System 信息：

> - Sun Java System文档
>   http://docs.sun.com/db/prod/sjs.asse 和
>   http://docs.sun.com/db/prod/sjs.asse?l=zh
> - Sun Java System 专业服务
>   http://www.sun.com/service/sunjavasystem/sjsservicessuite.html
> - Sun Java System 软件产品和服务
>   http://www.sun.com/software
> - Sun Java System 软件支持服务
>   http://www.sun.com/service/sunone/software
> - Sun Java System 支持和知识库
>   http://www.sun.com/service/support/software
> - Sun 支持和培训服务
>   http://training.sun.com
> - Sun Java System 咨询和专业服务
>   http://www.sun.com/service/sunps/sunone
> - Sun Java System 开发者信息
>   http://developers.sun.com
> - Sun 开发者支持服务
>   http://www.sun.com/developers/support
> - Sun Java System 软件培训
>   http://www.sun.com/software/training

> 版权所有 © 2004 Sun Microsystems, Inc. 保留所有权利。

> 对于本文档中介绍的产品，Sun Microsystems, Inc. 对其所涉及的技术拥有相关的知识产权。需特别指出的是（但不局限于此），这些知识产权可能包含在 http://www.sun.com/patents 中列出的一项或多项美国专利，以及在美国和其他国家/地区申请的一项或多项其他专利或待批专利。

> SUN 专有/机密。

> 美国政府权利——商业软件。政府用户应遵循 Sun Microsystems, Inc. 的标准许可协议，以及 FAR（Federal Acquisition Regulations，即“联邦政府采购法规”）的适用条款及其补充条款。

> 必须依据许可证条款使用。

> 本软件可能包括由第三方开发的产品。

> 本产品的某些部分可能是从 Berkeley BSD 系统衍生出来的，并获得了加利福尼亚大学的许可。

> Sun、Sun Microsystems、Sun 徽标、Java 和 Solaris 是 Sun Microsystems, Inc. 在美国和其他国家/地区的商标或注册商标。所有 SPARC 商标的使用均已获得许可，它们是 SPARC International, Inc. 在美国和其他国家/地区的商标或注册商标。