Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 发行说明

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

> ### 版本 7 2004Q2 Update 3

> 文件号码 819-2967

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

> 本文档包括以下内容：

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

> #

> 发行说明修订历史记录

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

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

> #

> 新增功能

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

> - 稳定性及质量改进

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

> - J2SE 1.4.2_07

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

> - 用于 Application Server 的 JWSDP 1.5 插件

> Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 可以使用 Java Web Services Developer Pack v1.5 插件。可以在以下 URL 下载此插件：http://www.sun.com/download/products.xml?id=41fed79f

> - JWSDP 1.4

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

> 有关安装和卸载通用组件的信息，请参见 jwsdpcc_addon 目录下的自述文件。

> - Solaris™ 10 中基于软件包的安装。

> 基于文件和基于软件包的安装在 Update 3 中均受支持。

> - 支持 Oracle® 10g。

> Sun Java System Application Server Standard and Enterprise Edition7 2004Q2 Update 3 支持 Oracle 10g 数据库服务器。

> - 新的 JVM 选项

> FLUSH_ENABLED_APPLICATIONS 是一个新选项，使用该选项可以在每次商业方法调用结束时刷新数据库中的数据。启用此选项之后，将为指定应用程序中的所有实体 Bean 的商业方法启用刷新。要使用此选项，请在 server.xml 中添加以下行：

> jvm-options-DFLUSH_ENABLED_APPLICATIONS=app_name,app_name</jvm-options>

> 其中 app_name 是应用程序的名称。必须重新启动 Application Server 才能使该选项生效。

> - 配置 HTTP 头重定向。

> 使用负载平衡器配置文件 (loadbalancer.xml) 中的新属性 rewrite-location 可以更好地控制 HTTP/HTTPS 路由选择行为。有关详细信息，请参见 Administration Guide 中的第 17 章 "Configuring HTTP Load Balancing and Failover (Enterprise Edition)"。

> - 安装或升级日文版和简体中文版的 Application Server 7 2004Q2 Update 3。

> Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 没有单独的日文或简体中文版本。如果您已安装了该软件，则必须升级至英文版本的 Update 3。升级至 Update 3 之后，软件的本地化版本将包含所有最新修复的错误。

> 请参见“安装与卸载”中的相关错误 6245916 和 6245424。

> #

> 平台摘要

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

> 本节包括：

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

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

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

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

> 平台 | 操作系统版本 | 分发类型 | Application Server 7 2004Q2 Update 2 Edition
> --- | --- | --- | ---
> Solaris SPARC® | Solaris 8 Update 7、Solaris 9 Update 6、Solaris 101 | 基于文件和基于软件包2 | Standard and Enterprise Edition
> Solaris x86 | Solaris 9 Update 4、Solaris 10 | 基于文件和基于软件包 | Standard and Enterprise Edition
> Linux x863 | Red Hat Advanced Server 2.1 Update 3, Red Hat Advanced Server 3 | 基于文件和基于 RPM | Standard and Enterprise Edition
> Microsoft Windows4 | 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在 Solaris 10 上，基于文件和基于软件包的安装均受支持。仅支持全局区域。不支持本地区域或本地稀疏根区域。
> 2基于软件包的安装和基于 RPM 的分发需要超级用户权限。
> 3在 Red Hat Advanced Server 2.1 上，HADB 仅支持 ext2 文件系统上的设备。
> 4在 Windows XP Professional 上，仅可以使用标准版。

> ## 系统要求

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

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

> 操作系统 | 体系结构 | 最小内存 | 建议的内存 | 最小磁盘空间 | 建议的磁盘空间
> --- | --- | --- | --- | --- | ---
> 适用于 SPARC 的 Sun Solaris 8, 9, 10 | 32 位和 64 位4 | 256 MB 1.5 GB （与 HADB 位于同一台计算机上） | 1024 MB 2 GB（与 HADB 位于同一台计算机上） | 250 MB 可用空间 | 500 MB 可用空间
> Solaris x86, Version 9 和 10 | 32 位
> 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 Windows 2003 Windows XP：Professional | x86 32 位

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

> - 在 UNIX 上，可以使用 uname 命令查看操作系统版本。可以使用 df 命令查看磁盘空间。
> - 在 Solaris 上，请确保 /usr/bin/perl 下的 perl 的系统范围实例位于路径中。如果找不到默认 perl 安装，Application Server 的安装将失败。
> - HADB 在 64 位模式下的 Microsoft Windows 或 Red Hat Enterprise Linux 操作系统上不受支持。在 Solaris (x86) 上，仅在 32 位模式下的操作系统中测试了 HADB。

> ## 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.0.3 | 类型 2 (OCI) | Oracle 9.2.0.3+ w/ RAC
> Oracle 10.1.0.2 | 类型 4 和类型 2 (OCI) | Oracle 10g
> 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 Standard and Enterprise Edition 7 2004Q2 Update 3 所支持的 Web 服务器。

> 表 4 支持的 Web 服务器

> Web 服务器 | 版本 | 操作系统
> --- | --- | ---
> Sun Java System Web Server | 6.0 Service Pack 6 | Solaris SPARC 8, 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 HP-UX 11i
> Sun Java System Web Server | 6.1 | Solaris SPARC 8, 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 HP-UX 11i
> Apache Web Server | 1.3.29, 2.0.49 | Solaris SPARC 8, 9 Solaris 9 x86 Red Hat Enterprise Linux 2.1, 3 Windows 2000：Server Service Pack 2 Windows 2000：Advanced Server Service Pack 2 Windows 2000：Professional Service Pack 2 HP-UX 11i
> 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 Standard and Enterprise Edition 7 2004Q2 Update 3 所支持的关联软件包。

> 表 5 可绑定到 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 中使用的版本 | 在 Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 中 使用的版本
> --- | --- | --- | --- | --- | ---
> J2SE | 1.4.0_02 | 1.4.1_03 | 1.4.2_04 | 1.4.2_05 | 1.4.2_07
> PointBase | 4.2 | n/a | 4.2（仅限于标准版） | 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 | 3.5 Service Pack 2
> JWSDP | 1.0_01 | 1.0_01 | 1.0_01 | 1.0_01 | 1.0_015

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

> ## 浏览器

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

> 表 6 支持的浏览器

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

> #

> 必需的 Solaris 修补程序

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

> http://sunsolve.sun.com/

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

> #

> 升级选项

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

> 表 7 可用的升级选项

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

> - 在某些情况下，从基本安装 (Sun One Application Server 7.0) 到 Sun Java System Application Server 7 2004Q2 的更新版本的升级操作可能会导致产品自动卸载。请勿使用 Application Server 7 2004Q2 的升级功能。而应执行手动迁移。
> - 升级后，必须将新的配置文件与备份目录中的原始文件进行对比，以查看任何更改情况。在原始配置文件中所进行的自定义设置可能不会被迁移到升级后的新文件中。如果新的配置文件与包含自定义设置的旧文件不同步，则可能会在服务器重新启动过程中遇到问题。升级期间，以下文件将受到影响：
> - install_dir/config 中的所有 *.conf 文件。
> - server.xml（管理和服务器实例）
> - 管理和服务器实例 startserv 脚本。
> - 管理和服务器实例 server.policy 文件。
> - 服务器实例 sun-acc.xml 文件。
> - docroot/index.html 文件。

> 有关详细信息以及升级的其他重要先决条件，请参见《Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 2 Installation Guide》。

> #

> 使用迁移工具

> 如果某个现有 J2EE 应用程序在其他供应商的应用程序服务器上运行，则可以使用 Sun Java System 迁移工具迁移该应用程序，然后在 Sun Java System Application Server 7 2004Q2 Update 3 版本上运行。迁移后的应用程序将在 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

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

> #

> 其他要求和限制

> 在 HADB 的下一版本中，将不再支持在 hadbm 管理命令的命令行中提交密码，并且最终将取消此功能。因此，请避免使用此选项。（错误 ID 6250651）

> 有关重要的安装先决条件和错误诊断选项的详细信息，请参见《Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 2 Installation Guide》。

> #

> 访问文档

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

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

> http://docs.sun.com/db/prod/sjs.asse

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

> man asadmin

> #

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

> Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 手册的形式为可移植文档格式 (PDF) 或超文本标记语言 (HTML) 格式的联机文件。

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

> 表 8 Sun Java System Application Server 文档

> 有关信息 | 请参见
> --- | ---
> 软件和文档的最新信息。其中包括以表格形式对所支持的硬件、操作系统、JDK 和 JDBC/RDBMS 所做的全面概述。 | 发行说明
> 有关从管理界面和命令行界面配置、管理和部署 Sun Java System Application Server 子系统和组件的信息和说明。其中包括以下主题：群集管理、高可用性数据库、负载平衡和会话持久性。此外还包括 Sun Java System Application Server 综合词汇表。 | 管理指南
> 在运行 Sun Java System Application Server 时可能出现的消息。其中包括对于可能原因的说明，以及关于如何找到产生消息的条件的指导。 | Error Message Reference

> #

> 已解决的问题

> 下表列出了在 Sun Java System Application Server Standard and Enterprise Edition 7 2004 Update 1、Update 2 和 Update 3 版本中已解决的重要问题。

> 表 9 已解决的问题

> 错误 ID | 说明
> --- | ---
> 6220602 | 作为文件钝化到磁盘中的有状态会话在删除超时后没有被删除。
> 6233088 | 安装 Application Server 7 期间替换文件中的标记时出错。
> 6233123 | 当 Oracle 出现故障时与 Oracle 和 JMS 相关的 XA 事务可能会丢失消息。
> 6236311 | HADB：分配的语句句柄太多。
> 6240771 | EJB 类加载器没有关闭 JAR 输入流。
> 6241348 | 负载平衡器无法从 HTTPS 重定向到 HTTP。
> 6171762 | 当 jndi-name 包含 "." 时，通过 S1ASCtxFactory 进行客户机 JNDI 查找失败。
> 4916390 | 在部署应用程序期间，无法将命令行选项传递给 javac。
> 6172138 | 当 SJAS 7.0 2004Q2 EE 处于无法响应的状态时，没有清除 statefulsessionbean 表中的条目。
> 6193156 | Application Server 7.x 崩溃，并且出现 CORE 3148: 无法继续等待信号。（已中断系统调用。）
> 6209453 | 当一个群集中的所有实例都被禁用后，负载平衡器没有故障转移到其他群集。
> 6215977 | 无法限制对特定文件类型的访问。
> 6217658 | 安全性问题。
> 6218086 | 无法对 ACL 进行后继解析。
> 6218460 | 即使 JTS 超时值足够大，事务也可能会由于事务超时而失败。
> 6223279 | 部署 EJB DD：为没有 jndi-name 的 ejb-ref-name 错误地生成了使用 jndi-name 的 ejb-ref-name 映射。
> 6223367 | 修改了 ACL，但并没有将对象添加到 server1-obj.conf 中。
> 6223368 | 无法在管理 UI 中查看 ACL。
> 6230798 | 池关闭连接期间所抛出的异常导致连接泄漏。
> 2120798 | 需要支持 DataDirect JDBC 驱动程序。
> 2120799 | 在关系管理期间，运行时重新装入集合字段。
> 6157465 | asenv.conf 文件中 HADB 的完整路径以及版本信息是硬编码。
> 6170685 | 负载平衡器插件不检测 Application Server 挂起。
> 6178431 | asadmin CLI 不允许通过编程方式从新创建的实例中删除 jvm 选项。
> 2107329 | JDBC 连接池未正确释放连接。
> 2114274 | 生成冲突的高速缓存控制标头。
> 2114629 | 客户机验证不能与 Microsoft IIS 5.0 上的负载平衡器插件一起使用。
> 2114630 | 使用 asadmin CLI 创建验证领域时出错。
> 2119440 | request.getAttribute("javax.servlet.error.request_uri") 不起作用。
> 4997111 | 封送时出现问题。
> 6156704 | Microsoft IIS 上的负载平衡器插件将 Server 硬编码到 HTTP 标头中。
> 6157453 | Servlet 过滤器的 init() 方法无法查找 JNDI 上下文。
> 6157473 | 登录到 HADB 数据库失败时无错误消息。
> 6171200 | 遇到某些 URL 编码的 URL 时负载平衡器插件崩溃。
> 5084132 | HADB：信号例程不是线程安全的例程。
> 5097447 | HADB：没有在 logstore 中进行垃圾收集。
> 6173355 | Application Server 重新启动后尝试连接数据库时抛出 InvocationException。
> 6181948 | 输入验证出错。
> 6182861 | WSI 样例应用程序与 SJSWS 6.1 配合使用时出现异常。
> 6156737 | 堆大小设置为 1 GB 时，Application Server 不能在 HP-UX 上启动。
> 2060927 | 对于 Sybase，findByPrimaryKey 为 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 Standard and Enterprise Edition 7 2004Q2 Update 3 的已知问题和相应的解决方法。

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

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

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

> ## 安装与卸载

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

> ID | 汇总
> --- | ---
> 6245916 | 在日文和简体中文语言环境中从本地化的 Application Server 7.1 Update 2 升级到 Update 3 时，将显示 Update 2 欢迎页。 欢迎页 (about.html) 和默认的 HTTP 服务器索引页 (index.html) 均来自 Update 2。 解决方法 升级到 Update 3 之后，请参阅位于以下位置的英文欢迎页： Appserver_Install_Dir/docs/about.html 要注册 Sun Java System Application Server，请使用以下 URL： 日文版：https://www.sun.com/software/product_registration?locale=ja_JP 简体中文版：https://www.sun.com/software/product_registration?locale=zh_CN 在创建新的服务器实例之前，请用英文版的 index.html 替换该语言环境中的 index.html。 请确保备份当前的日文版或中文版 index.html 文件。 日文版： 将 Appserver_Install_Dir/lib/install/templates/index.html 复制到 Appserver_Install_Dir/lib/install/templates/ja/index.html 简体中文版： 将 Appserver_Install_Dir/lib/install/templates/index.html 复制到 Appserver_Install_Dir/lib/install/templates/zh/index.html
> 6245424 | 卸载 Application Server Update 3 的本地化版本后，本地化的软件包/RPM 将保留。 解决方法 先删除本地化的软件包/RPM，然后再运行卸载程序。 对基于软件包的 Solaris 安装执行以下过程。 1. 删除以下软件包： pkgrm SUNWjaspx SUNWjasdmo SUNWjiquc SUNWjiqu SUNWjaso pkgrm SUNWjjmail SUNWjjaf SUNWjasaco SUNWjascmo SUNWjaspx pkgrm SUNWcaspx SUNWcasdmo SUNWciquc SUNWciqu SUNWcaso pkgrm SUNWcjmail SUNWcjaf SUNWcasaco SUNWcascmo SUNWcaspx 2. 运行 Application Server 卸载程序。 3. 删除 Application Server 安装目录。 rm -rf Appserver_Install_Dir 对基于 RPM 的 Linux 安装执行以下过程。 1. 删除以下 RPM： rpm -e SUNWjasaco-7.1.0-02.src.rpm rpm -e SUNWjascmo-7.1.0-02.src.rpm rpm -e SUNWjasdmo-7.1.0-02.src.rpm rpm -e SUNWjaso-7.1.0-02.src.rpm rpm -e SUNWjaspx-7.1.0-02.src.rpm rpm -e SUNWjjaf-7.1.0-02.src.rpm rpm -e SUNWjjmail-7.1.0-02.src.rpm rpm -e SUNWasaco-zh_CN-7.1.0-02.src.rpm rpm -e SUNWascmo-zh_CN-7.1.0-02.src.rpm rpm -e SUNWasdmo-zh_CN-7.1.0-02.src.rpm rpm -e SUNWaso-zh_CN-7.1.0-02.src.rpm rpm -e SUNWaspx-zh_CN-7.1.0-02.src.rpm rpm -e SUNWjaf-zh_CN-7.1.0-02.src.rpm rpm -e SUNWjmail-zh_CN-7.1.0-02.src.rpm 2. 运行 Application Server 卸载程序。 3. 删除 Application Server 安装目录。 rm -rf Appserver_Install_Dir 对 Windows 安装执行以下过程： 1. 运行 Application Server 卸载程序。 2. 删除 Appserver_Install_Dir。
> 6208875 | 升级安装失败：java.io.FileNotFoundException 在特定情况下，Solaris SPARC、Solaris x86 和 Linux 上基于文件的 HADB 升级将会遇到问题，如下所述： 安装失败，并抛出以下异常： java.io.FileNotFoundException: /sun/appserver7/./SUNWhadb/4（这是一个目录） 升级情况：7.1RTM/7.1ER1/7.1UR1 到 7.1UR2 的基于文件的升级。 解决方法 将 file-based-installing-directory/SUNWhadb/4 软链接重命名为其他名称（例如 SUNWhadb/3）。重新启动升级。
> 6217112 | 不能在 Windows 平台上进行增量式安装。 可以将样例应用程序与 Application Server 一起安装。不能增量式安装样例应用程序。 解决方法 在安装开始时选择安装样例应用程序。在增量式安装期间，不要选择样例应用程序选项。
> 5006942 | 在 Windows 上，所创建的服务在升级后其启动类型被默认设置为“自动”。 解决方法 1. 打开 Windows 服务。 2. 将服务器的启动类型更改为“手动”。
> 6217097 | 如果不是以非超级用户身份下载用于升级的 Application Server 二进制文件，则以非超级用户身份执行基于文件的升级可能会失败。 解决方法 下载的二进制文件必须归非超级用户所有。下载的归档文件必须由执行安装或升级操作的用户来解压缩，否则升级 JDK 时会出现权限问题。

> ## 启动与关闭服务器

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

> 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 所使用的冲突的端口号。 要确定管理服务器和应用程序服务器实例使用的端口号，请参见位于以下 Application Server 安装位置的 server.xml 文件： 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 上，使用 JDK 1.4 时出现 Oracle JDBC 驱动程序错误。 这将影响与 JDK1.4 一起使用的、用于 Oracle® 的新 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 中，但您必须创建 "logs" 目录，然后在 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) 时抛出 javax.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 消息服务 (Java Message Service, JMS)、Sun Java System Application Server Standard and Enterprise Edition 中的已知问题以及消息驱动 Bean 方面的问题和相应的解决方法。

> ID | 汇总
> --- | ---
> 6184426 | 在压力测试期间，HP-UX11.11 上出现 ConnectException 错误。 需要在操作系统级别或在 IMQ 级别配置 HP-UX TCP-IP 参数。 解决方法 在 IMQ 级别上，进行以下更改： imq.portmapper.backlog=1000 imq.authentication.client.response.timeout=360 imq.jms.tcp.backlog=3000 imq.jms.max_threads=5000
> 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) 问题和相应的解决办法。

> ###

> ID | 汇总
> --- | ---
> 6218460 | 即使 JTS 超时值足够大，事务也可能会由于事务超时而失败。 解决方法 配置 Application Server 的事务服务属性 xaresource-txn-timeout，并设置与为事务服务配置的事务超时值（以秒为单位）相匹配的属性值。

> ###

> ### 恢复

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

> - Oracle® 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 | 汇总
> --- | ---
> 6223279 | 如果缺少 jndi-name，则 ejb-ref-name 到 jndi-name 的映射不正确。 部署 EJB 应用程序时，XML 部署描述符 (sun-ejb-jar.xml) 应具有用于每个 EJB 引用的 jndi-name 条目。例如： <ejb-ref> <ejb-ref-name>ejb/package_name.ejb_name</ejb-ref-name> <jndi-name>ejb/package_name.ejb_name</jndi-name> </ejb-ref> 如果缺少 jndi-name 条目，仍将部署且不会出错，但是应用程序将不会正常运行，因为 JNDI 查找无法找到 EJB。 解决方法 确保 JNDI 名称已在部署描述符中。要确保应用程序不出现此问题，请在部署前选中“运行检验器”复选框，这将突出显示缺少 JNDI 名称的问题。
> 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 | 汇总
> --- | ---
> 6262746 | 在 Solaris 10（SPARC 和 x86）环境下安装的 Apache Web 服务器中的负载平衡器插件不是受支持的配置。 解决方法 在 Solaris 8 或 9 环境中使用 Apache，在 Solaris 10 环境中使用 Application Server。 或者， 在 Solaris 10 环境中使用 Sun Java System Web Server。
> 6155134 | 需要手动设置路径才能启动 Web 服务器。 在 Windows 上为 IIS 或 Apache 安装负载平衡器插件之后，请将 Application Server 的路径附加到 Path 环境变量中。 转至“开始”->“设置”->“控制面板”->“系统”->“高级”->“环境变量”->“系统变量”->“Path”，然后添加以下内容：appserver_install_dir\bin 必须重新启动计算机。
> 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 模块的上下文根路径。故障转移后，由于上下文根路径不存在，因此要指定 "Default" 字符串作为更新 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 | 汇总
> --- | ---
> 6173886, 6253132 | hadbm createdomain 可能失败。 当在具有多个网络接口的主机上运行管理代理，且所有网络接口并不都在同一子网上时，createdomain 命令可能会失败： hadbm:错误 22020: 管理代理无法建立域，请检查主机是否可以与 UDP 多址广播进行通信。 如果不以其他方式进行配置，管理代理会将第一个接口（第一个接口是由 java.net.NetworkInterface.getNetworkInterfaces() 的结果定义的）用于 UDP 多址广播。 解决方法 最佳的解决方法是通知管理代理使用哪个子网（使用配置文件中的 ma.server.mainternal.interfaces。例如，ma.server.mainternal.interfaces=10.11.100.0）。或者，您也可以在子网之间配置路由器以便路由多址广播包（管理代理使用的多址广播地址为 228.8.8.8）。 在管理代理采用新配置的情况下进行重试之前，您应先清除管理代理的系统信息库。停止域中的所有代理，并删除系统信息库目录（由管理代理配置文件中的 repository.dr.path 所标识）中的所有文件和目录。在重新启动采用新配置文件的代理之前，必须在所有主机上完成上述操作。
> 6249685 | 在 Linux 中无法中断 clu_trans_srv 进程。 在 64 位版本的 Red Hat Enterprise Linux 3.0 中存在一个错误，该错误导致 clu_trans_srv 进程在执行异步 I/O 时以不间断模式结束。这意味着 kill -9 不起作用并且操作系统必须重新引导。 解决方法 使用 32 位版本的 Red Hat Enterprise Linux 3.0。
> 6230792, 6230415 | 启动、停止或重新配置 HADB 时可能失败或挂起。 在运行 Solaris 10 的 AMD Opteron™ 系统上，使用 hadbm 命令启动、停止或重新配置 HADB 时可能失败或挂起，并出现以下错误之一： hadbm:错误 22009: 发出的命令在最近 300 秒内没有任何进度。 HADB-E-21070: 操作在限制的时间内未完成，但仍未被取消，可能会在稍后完成。 如果在对 clu_noman_srv 进程使用的文件 (nomandevice) 进行读取/写入操作时出现不一致，则可能会出现此错误。通过在 HADB 历史记录文件中查找以下消息可检测到此问题： n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 子进程 noman3 733 没有响应。 n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 在 104.537454 秒内尚未接收到它的消息 n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 子进程 noman3 733 没有启动。 解决方法 要解决此问题，请对受影响的节点运行以下命令： hadbm restartnode --level=clear nodeno dbname 请注意，该节点的所有设备均将重新初始化。在重新初始化节点之前，可能需要停止该节点。
> 无 | 创建 HADB 数据库失败。 创建新数据库时可能会失败，并出现以下错误，说明可用的共享内存段太少： HADB-E-21054: 系统资源不可用: HADB-S-05512: 附加密钥为 "xxxxx" 的共享内存段失败，操作系统状态＝24 操作系统错误消息: 打开的文件太多。 解决方法 检验是否已配置共享内存，并检验该配置是否已生效。尤其是在 Solaris 8 上，查看 /etc/system 文件，并检查变量 shmsys:shminfo_shmseg 的值是否至少为每台主机节点数的六倍。
> 6232140 | 管理代理终止，并抛出异常“IPV6_MULTICAST_IF 失败”。 在具有多个 NIC 卡的运行 Solaris 8 的主机上启动管理代理时，如果同时启用了 IPv6 和 IPv4 卡，则管理代理可能会终止，并抛出异常 IPV6_MULTICAST_IF 失败。错误 4418866/4418865 中介绍了根本原因。 解决方法 1. 将环境变量 _JAVA_OPTIONS 设置为： $> export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" 2. 或者，使用 Solaris 9。
> 6171832/ 6172138 | 不清除过时会话将导致 HADB 的性能下降或填满数据设备。 解决方法 要有效地删除过时会话，请修改 sun-ejb-jar.xml 文件以设置 cache-idle-timeout-in-seconds 的值，使该值小于 removal-timeout-in-seconds 的值。 如果 cache-idle-timeout-in-seconds 的值等于或大于 removal-timeout-in-seconds 的值，将不清除 HADB 中的旧会话（这是所需行为）。 如果按照建议设置这些属性后仍遇到过时会话问题，请与产品中心联系以获得帮助。
> 6171994 | security.policy 文件中的权限不正确导致启动时挂起。 说明 在 security.policy 文件中，hadb-jdbc 具有的访问权限不正确。 解决方法 如果启动期间出现间歇性挂起，请在 security.policy 文件中添加以下建议的权限： 默认情况下，当前权限为： permission java.net.SocketPermission "*", "connect"; 建议的权限为： permission java.net.SocketPermission "*", "connect accept,listen,resolve";
> 5042351 | 在添加新节点之后创建的新表将不分布到添加的节点上。 说明 如果用户创建了一个数据库实例并向其中添加了节点，则以后创建的任何新表都将不会在创建数据库之后添加的节点上分段。只有在 addnodes 之前创建的表才能够在 hadbm addnodes 对其进行重新分段时使用添加的节点。 这是因为 create table 使用引导数据库（执行 hadbm create）时创建的 sysnode 节点组。 解决方法 在添加新表之后运行 hadbm refragment，或在节点组 all_nodes 上创建新表。
> 6158393 | HADB 在 RedHat AS 3.0 上以并置模式在负荷下运行时的问题。 说明 HADB 与 Application Server 在同一台计算机上，在 RedHat Linux AS 3.0 中运行。事务可能会中止，并影响性能。这是由操作系统执行的过度交换而引起的。 解决方法 针对 RedHat Linux AS 3.0 Update 4 测试 HADB 时，此问题已得到解决。
> 6175436 | 重新分段期间第二个 addnodes 失败。 说明 重新分段期间第二个（和后续）addnodes 命令可能会失败，并显示以下错误消息： hadbm:错误 22042:无法对数据库进行重新分段。请重试，使用 hadbm refragment 命令对数据库进行重新分段。原因: HADB-E-11747:节点组 all_nodes 已存在。 解决方法 使用 hadbm refragment 手动对表进行重新分段。
> 6214601 | 由于 hadbm 在系统根目录模式下搜索用户表，因此，addnodes 失败，并显示未找到表错误。 说明 hadbm refragment 命令失败，并显示： hadbm:错误 22042:无法对数据库进行重新分段。请重试，使用 hadbm refragment 命令对数据库进行重新分段。原因: HADB-E-11701:*未找到表单点登录* 解决方法 使用 clusql 手动对 Application Server 表进行重新分段： > clusql server:port list> system+dbpassword specified at database create> SQL:set autocommit on; SQL:set schema haschema; SQL:alter table sessionattribute nodegroup all_nodes; SQL:alter table singlesignon nodegroup all_nodes; SQL:alter table statefulsessionbean nodegroup all_nodes; SQL:alter table sessionheader nodegroup all_nodes; SQL:alter table blobsessions nodegroup all_nodes; SQL:quit;
> 6159633 | configure-ha-cluster 可能会挂起。 说明 使用 asadmin configure-ha-cluster 命令在多个主机上创建或配置具有高可用性的群集时，该命令将挂起。HADB 管理代理或 Application Server 不抛出异常。 解决方法 HADB 不支持数据库群集中节点之间的异构路径。确保 HADB 服务器安装目录和配置目录在所有参与的主机之间均相同。 此外，请在再次运行此命令之前清除系统信息库目录。
> 6197822 | hadbm set 使数据库实例进入难以恢复的状态。 说明 在这种情况下，使用 hadbm set 命令尝试更改某个数据库配置变量时将失败；例如，由于节点 0 上的共享内存不足，将 DataBufferPoolSize 设置为更大的值将失败。然后，hadbm set 命令将使数据库的节点 0 处于停止状态，而节点 1 处于运行状态。使用 hadbm set 将池大小重新设置回初始值失败，并显示以下消息： 22073: 此操作需要重新启动节点 1。节点 1 的镜像节点当前不可用。请使用 hadbm status --nodes 查看节点的状态。 在这种情况下，hadbm startnode 0 也将失败。 解决方法 停止数据库，使用 hadbm set 恢复初始值，然后重新启动数据库。
> 6200133 | configure-ha-cluster 失败；创建 HADB 实例时失败。 说明 尝试创建 HADB 群集失败，并显示以下消息： HADB-E-00208：事务被中止。 引导事务填充 SQL 字典表被中止。 解决方法 再次运行 configure-ha-cluster 命令。如果运行 hadbm create 命令失败并显示上述消息，请重新运行该命令。
> 6181845 | 无法在 Windows 中创建一个大于 2 GB 的数据设备。 说明 如果 hadbm create（或 hadbm set）使用 --NumberOfDataDevices=1（默认）和值大于 2 GB 的 --devicesize，则会遇到以下错误： DEVINIT-ERROR:空间不足，写入 -2147479552 B，共 -2036330496 B。尝试在文件开始之前移动文件指针。 解决方法 在 Windows 中，如果需要创建大于 2 GB 的数据设备，请用 devizesize 除以 2 GB，从而得出需要创建的设备数目。然后，根据计算结果使用 --NumberOfDataDevices 选项创建相应数目的数据设备。
> 5091349 | 不支持异构安装路径。 不能在不同主机上的不同位置使用相同名称注册同一个软件包。 解决方法 HADB 不支持数据库群集中节点之间的异构路径。确保 HADB 服务器安装目录和配置目录在所有参与的主机之间均相同。
> 5091280 | hadbm set 不检查资源可用性（磁盘和内存空间） 问题如下 使用 hadbm set 增加设备或缓冲区大小。 说明 在创建数据库或添加节点时，管理系统将检查资源可用性，但在更改设备或主内存缓冲区大小时则不会检查是否有足够的可用资源。 解决方法 在增大 devicesize 或 buffersize 配置属性之前，检查所有主机上是否有足够的可用磁盘/内存空间。
> 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 节点的设备。
> 无 | 使用双网络配置 HADB 使用两个子网上的双网络进行配置的 HADB 可以在 Solaris SPARC 中正常工作。但是，由于某些硬件平台上存在操作系统或者网络驱动程序的问题，因此已发现 Solaris x86 和 Linux 平台不能正确处理双网络。这就导致 HADB 出现以下问题： 在 Linux 上，某些 HADB 进程的消息传送被阻塞。这将导致 HADB 节点重新启动以及进行网络分区操作。 在 Solaris x86 上，出现网络故障后会出现一些问题，导致无法切换到其他网络接口。但并不总是会发生这种情况，因此最好还是使用两个网络。这些问题在 Solaris 10 上已部分解决。 不支持链路聚合。 在 Windows 2003 中，HADB 不支持双网络（错误 ID 5103186）。
> 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 的 packagepath/4.4-x 路径下找不到软件包 V4.4.x。 CLI137 命令 configure-ha-cluster 失败。 解决方法 管理代理和 hadbm 客户机使用相同的 HADB 版本。
> 5103186 | 在一个网络出现故障的情况下，NSUP 无法在 Windows 2003 上启动。 说明 如果已将 HADB 配置为在 Windows 2003 上使用双网络，并且一个网络出现故障，则节点将无法重新启动。因此，只要一个节点出现故障，它就将保持故障状态。 解决方法 请勿将 HADB 配置为在 Windows 2003 上使用双网络。

> ## 服务器管理

> 本节包含以下主题：

> - 命令行界面 (Command Line Interface, CLI)
> - 管理体系
> - 管理界面

> ### 命令行界面 (Command Line Interface, CLI)

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

> ID | 汇总
> --- | ---
> 4676889 | 如果命令包含的字符多于 256 个，则 CLI 命令在单模式下溢出。 在 UNIX® 中，在单模式下执行包含多于 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 | 汇总
> --- | ---
> 5010038 | 管理控制台联机帮助中有关安全领域的信息不正确。 在 Application Server 管理控制台中，在“应用程序服务器实例”> "Server1" >“安全性”>“领域”下，帮助文件列出下列领域：file、ldap、certificate、solaris。 这是不正确的。实际领域包括：file、ldap、certificate、agentRealm。默认情况下，Application Server 安装程序将安全领域设置为 agentRealm。
> 6190702 | hadbm 帮助给出的信息已过时。 解决方法 有关最新信息，请参见《Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 Administration Guide》文档的 "Administering the High-Availability Database (Enterprise Edition)" 一章。
> 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"
> 无 | 产品 CD 中的安装指南 PDF 文件已损坏。 解决方法 使用 HTML 版本的安装指南。

> #

> 可再分发的文件

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

> #

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

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

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

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

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

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

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

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

> http://forums.java.sun.com/forum.jspa?forumID=136

> ## Sun 欢迎您提出意见

> Sun 致力于提高其文档的质量，并十分乐意接收到您的意见和建议。您可以通过以下网址提交您的意见和建议：

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

> 请在相应的字段提供完整的文档标题和文件号码。文件号码是一个七位或九位的数字，可以在书的标题页或文档的顶部找到。例如，本发行说明文档的文件号码为 819-2967。在您提出意见时，可能需要在表单中输入英文版书名和文件号码，本书的英文版文件号码和书名为：819-2782，《Sun Java System Application Server Standard and Enterprise Edition Release Notes》。

> #

> 其他 Sun 资源

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

> - Sun Java System 文档
>   http://docs.sun.com/db/prod/sjs.asse
> - 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

> 版权所有© 2005 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. 在美国和其他国家/地区的商标或注册商标。