Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Update 2 发行说明

第 2 章 关于 Application Server 8.1 Update 2 2005Q2

Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Update 2 是与 J2EE 1.4 平台兼容的服务器,它用于在大规模生产环境中开发和部署 J2EE 应用程序和基于 Java 技术的 Web 服务。

本节包括:

8.1 2005Q2 Update 2 发行版的新增功能

Application Server Enterprise Edition 8.1 2005Q2 Update 2 包括以下增强功能:

硬件和软件要求

本节列出了安装 Sun Java System Application Server Enterprise Edition 8.1 产品之前必须满足的要求。

平台要求

下表列出了 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 产品所支持的操作系统。此外,还标识了安装和运行 Application Server 所需的最小内存和建议的内存。

表 2–1 Sun Java System Application Server 8.1 2005Q2 平台要求

操作系统 

最小内存 

建议的内存 

最小磁盘空间 

建议的磁盘空间 

JVM 

Sun Solaris 8, 9, 10 (SPARC) 

Solaris 9, 10 (x86) 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 1.4.2_06, J2SE 5.0 

Red Hat Enterprise Linux 2.1 Update 2, 3.0 Update 1 

512 MB 

1 GB 

220 MB 可用空间 

300 MB 可用空间 

J2SE 1.4.2_06, J2SE 5.0 

Windows Server 2000 SP4+ 

Windows 2000 Advanced Server SP4+ 

Windows Server 2003 

Windows XP Pro SP1+ 

1 GB 

2 GB 

500 MB 可用空间 

1 GB 可用空间 

J2SE 1.4.2_06, J2SE 5.0 

在 UNIX 上,可以使用 uname 命令查看操作系统的版本。可以使用 df 命令查看磁盘空间。

系统虚拟化支持

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

重要修补程序信息

有关 Sun Java System Application Server Enterprise Edition 8.1 所需修补程序的当前列表,请访问 http://sunsolve.sun.com 并搜索 "app server 8.1 patch"。然后,查看与 Sun Java System Application Server Enterprise Edition 8.1 相关的链接。操作系统修补程序的要求更改并且 Java Enterprise System 组件的修补程序变得可用后,这些更新可在 SunSolve 上获得,最初的形式为建议的修补程序群集。

Solaris 修补程序要求

建议 Solaris 9、10(x86、SPARC)用户安装“Sun 推荐的修补程序簇”。此修补程序群集可以在 SunSolve 上的 Recommended and Security Patches 下找到。

RedHat Enterprise Linux 3.0 的附加软件包要求

要运行此产品的本机组件(包括安装程序),应安装以下软件包,该软件包不是标准 RedHat Enterprise Linux 3.0 分发的一部分:compat-libstdc++-7.3-2.96.118.i386.rpm

可以从 http://rpm.pbone.net/index.php3/stat/4/idpl/843376/com/compat-libstdc++-7.3-2.96.118.i386.rpm.html 下载该软件包

JDBC 驱动程序和数据库

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

表 2–2 符合 J2EE 规范的 JDBC 驱动程序

JDBC 供应商 

JDBC 驱动程序类型 

支持的数据库服务器 

i-net Software 

类型 4 

Oracle (R) 8.1.7, 9i, 9.2.0.3 

Sybase ASE 12.5.2 

Microsoft SQL Server 2000 4.0 Service Pack 1 

IBM 

类型 2 

IBM DB2 8.1 Service Pack 3+ 

PointBase 

类型 4 

PointBase Network Server 4.8 

DataDirect 

类型 4 

Oracle (R) 8.1.7, 9i, 9.2.0.3 

Sybase ASE 12.5.2 

Microsoft SQL Server 

IBM DB2 8.1 Service Pack 3+ 

用于 Oracle 的 Sun Java System JDBC 驱动程序 

类型 4 

Oracle (R) 9.2.0.3, 10G 

用于 DB2 的 Sun Java System JDBC 驱动程序 

类型 4 

IBM DB2 8.1 Service Pack 3+ 

用于 Sybase 的 Sun Java System JDBC 驱动程序 

类型 4 

Sybase ASE 12.5.2 

用于 Microsoft SQL Server 的 Sun Java System JDBC 驱动程序 

类型 4 

Microsoft SQL Server 2000 4.0 Service Pack 1 

Oracle 

类型 4、类型 2 

Oracle (R) 9.2.0.3, 10G 

有关 i-net Software 的更多信息,请参见 http://www.inetsoftware.de/

有关 DataDirect Technologies 的更多信息,请参见 http://www.datadirect.com/

配置 Oracle

必须正确配置 Oracle JDBC 驱动程序才能与 J2EE 1.4 兼容。对类型 2 和类型 4 驱动程序应用以下配置:

Procedure配置 Oracle

  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_HOMELD_LIBRARY_PATH 变量(必须包含 $ORACLE_HOME/lib)。例如,将它们添加到 asenv.conf 文件中并确保将其导出。

配置 PointBase

许多样例应用程序使用 Application Server 附带的 PointBase 数据库服务器。使用 Application Server Enterprise Edition 时,必须先配置 PointBase 数据库服务器,然后才能使用该服务器。

配置 PointBase 的方法有两种:

  1. 使用适于您的操作系统和 shell 的命令,将 JAVA_HOME 环境变量设置为 J2SE 的安装目录。例如:% setenv JAVA_HOME "/opt/SUNWappserver/jdk"

  2. 编辑 Application Server 的 PointBase 配置文件,如下所示:

    1. 在 Solaris 和 Linux 系统上,编辑 install_dir/pointbase/tools/serveroption/pbenv.conf 配置文件,将行:

      PB_JAVA=%%%PB_JAVA%%%

      更改为

      PB_JAVA=J2SE_location

    1. 在 Windows 系统上,编辑 install_dir\pointbase\tools\serveroption\pbenv.bat 配置文件,将行:

      PB_JAVA=%%%PB_JAVA%%%

      更改为

      PB_JAVA=J2SE_location

    其中 J2SE_location 为 J2SE 的安装目录。如果已随 Application Server 一起安装了 J2SE,则该 J2SE 默认安装在 install_dir/jdk

    进行此更改后,您可以使用 startserver 脚本启动 PointBase。

Web 服务器

本节列出了 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 所支持的 Web 服务器。

表 2–3 支持的 Web 服务器

Web 服务器 

版本 

操作系统 

Sun Java System Web Server 

6.1+ 

Solaris SPARC 9, 10 

Solaris x86 9, 10

Red Hat Enterprise Linux 3 和 4 

Apache Web Server 

1.3+, 1.4, 2.0 

Solaris SPARC 9, 10 

Solaris x86 10

Red Hat Enterprise Linux 3 和 4 

Windows Server 2003 

Windows 2000 Advanced Server SP4+ 

Windows Server 2000 SP4+ 

Windows XP Pro SP1+ 

Microsoft IIS®

5.0+ 

Windows Server 2003 

Windows 2000 Advanced Server SP4+ 

Windows Server 2000 SP4+ 

Windows XP Pro SP1+ 

浏览器

本节列出了 Sun Java System Application Server Enterprise Edition 8.1 2005Q2 所支持的浏览器。

表 2–4 支持的 Web 浏览器

浏览器 

版本 

Mozilla 

1.4, 1.5, 1.6, 1.7.x

Netscape Navigator 

4.79, 6.2, 7.0 

Internet Explorer 

5.5 Service Pack 2, 6.0 

HADB 要求和支持的平台

除了硬件和软件要求中列出的要求以外,还需验证系统是否满足下面所列的运行 HADB 的要求。


注 –

该系统的 Java 组件使用 JDK 1.4.2_02 构建,并且已在 JDK 1.5 上进行了测试。


支持的平台

HADB 服务器主机要求


注 –

请确保在存储 HADB 数据和日志文件的设备上禁用写高速缓存。默认情况下,在有些 Solaris 平台上写高速缓存处于启用状态;例如,Solaris x86。


HADB 管理主机要求

HADB 客户机主机要求

升级 Sun Java System Application Server

不支持从任意先前的 Application Server 发行版直接升级。有关从 Application Server 的先前版本升级至当前版本的完整说明,请参阅《Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Upgrade and Migration Guide》

切换到支持的 J2SE 版本

如果要使用 Application Server 附带的 PointBase,请下载并使用 J2SE 1.4.2 而不是捆绑的 J2SE 5.0 JVM。要完成此操作,请执行以下步骤:

Procedure切换到 J2SE 1.4.2

  1. 下载 J2SE 1.4.2 SDK(而非 JRE)并将其安装到系统中(如果尚未这样做)。

    可以从 http://java.sun.com/j2se/1.4.2/ 下载 J2SE 1.4.2 SDK

  2. 停止 Application Server。

    可以使用以下命令行:


    install_dir/bin/asadmin stop-domain

    或管理控制台:

    1. 单击 "Application Server" 节点。

    2. 单击“停止实例”。

  3. 编辑 install_dir/config/asenv.conf 文件(在 Windows 上为 asenv.bat),将 AS_JAVA 的值更改为指向 J2SE 1.4.2 主目录。

  4. 编辑 as-install/samples/common.properties 文件,将以 com.sun.aas.javaRoot... 开头的行更改为引用 J2SE 1.4.2 主目录。

  5. 重新启动 Application Server。

    可以使用以下命令行:


    install_dir/bin/asadmin start-domain

    或管理控制台:

    1. 单击 "Application Server" 节点。

    2. 单击“启动实例”。

其他要求

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

Enterprise Edition 8.1 发行版中修复的错误

本节列出了由客户提出并且已经解决的 Sun Java System Application Server Enterprise Edition 8.1 产品问题。

错误号 

说明 

4887079 

用于部署/取消部署以及找出已部署哪些应用程序的可编程化 API。 

4911462 

端口不在可用范围内时会收到不正确的消息。 

4918535 

sun-appserv-deploy() 不带有支持 createAndDropTables() 的标志。

4939749 

xml:()Deploytool 不应该自动插入 lang() 值。

4946914 

对群集的部署支持。 

4979136 

基于目录的部署会复制备份目录中的应用程序。 

4987274 

如果 Bean 的远程接口的名称为 Util(),则部署失败。

4988818 

使用 J2SE 1.5 时,透明持久性运行时测试失败。 

4992295 

在命令行界面中部署系统组件成功,但在服务器的日志文件中却记录了一条错误消息。 

4994790 

使用 precompilejsp=true 部署的 JSP 不使用 sun-web.xml 中的编译器标志。

4996876 

检验器与使用 verify=true 进行部署时,会收到不同的报告。

5003356 

升级工具没有考虑最新的 server.policy 文件更新。

5006854 

asadmin deploy--virtualservers 无法进行部署。

5007309 

HTTP 侦听器的接收器线程默认值不正确。 

5008941 

取消部署某个应用程序,然后再次对其进行部署时,JSR88 启动操作失败。 

5016848 

在 Windows 上,JDK JAR 文件高速缓存功能和未关闭的文件会造成某些重新部署操作无法进行。 

5017956 

在 JAR 模块级执行的 list-m 不能列出 EJB。

5030425 

deploydir 命令会忽略 security-role-mapping 的更改。

5041343 

不会检查前后带有 "/" 的 servlet-mapping url-pattern- -directory

5046120 

部署大型应用程序时,会收到严重类型的日志消息。 

6041268 

没有机制可以禁用 HTTP TRACE

6062410 

在本地化的计算机上会启动英文版的升级工具。 

6067341 

rmic 远程接口上,对具有 ejb-refs 的 Web 应用程序执行 deploydir 命令会失败。

6152752 

在运行 SPEC J2004 测试期间,会记录 outofbound 异常。

6154949 

连接验证不起作用。 

6157310 

在管理关系期间,运行时会重新装入 Collection 字段。

6165491 

如果非默认域的路径中创建了某个域,则不能启动该域。 

6171667 

domain.xml 中没有创建生命周期模块属性元素。

6171729 

在部署 MDB 期间,非字符串型的 RA ActivationSpec 属性会导致 IllegalArgumentException

6172178 

OSS/J TT TCK 无法从远程应用程序服务器获得 JMS 连接工厂。 

6172589 

优化了对安全管理器的调用。 

6183492 

[DataDirect] DB2:在调用 EJB 期间,某些透明持久性应用程序服务器测试会失败并抛出异常。 

6184864 

使用 OR 运算符和包含空的单值 CMRS 的表达式时,EJB QL 查询不会返回结果。 

6197393 

Deploytool 经常不在部署描述符中创建 message-destination 元素。 

6198796 

部署应用程序时,EE 样例 asadmin 命令需要包含 availabilityenabled=true() 选项。

6198981 

类路径中缺少 xalan.jar 文件,会导致空的下拉式列表并且 Web 服务向导会失败。

6199076 

无法使用 asant 脚本运行 Duke bookstore 样例故障转移测试。

6202363 

群集名称在 mq-failover 样例应用程序的一个 ant 目标中出现硬编码。

6202606 

JMS 服务配置无法用于 JMS 和 Message Queue 之间的 SSL JMS。 

6206176 

Application Server 8.1 要求 startserv/stopserv 具有 755 权限。

6207297 

无法使用默认 SSL 端口号 (443) 以外的端口访问 Application Server。 

6207862 

asadmin create-domain--help 生成了一些乱码。

Enterprise Edition 8.1 Update 2 发行版中修复的错误

本节列出了由客户提出并且已经解决的 Sun Java System Application Server Enterprise Edition 8.1 Update 2 产品问题。

错误号 

说明 

4842830 

JDBC 客户机收到异常“ComStream 已关闭”。 

4847716 

不应使用 execute/executeUpdate 来设置提交模式,因为这可能会导致不需要的行为。请使用标准的 JDBC setAutocommit()

4861326 

语句池没有将 CREATE SCHEMA 识别为隐含 SET SCHEMA。 

4891060 

侦听套接字时,侦听器会忽略地址指令。 

5042351 

在添加新节点之后创建的新表不能分布到添加的节点上。 

5061316 

重新分段某个表后,对它执行的查询可能会失败,并显示 HADB-E-01792:已删除复制。必须重试查询。 

5063175 

使用同时具有单网/多网的主机时,hadbm create 会显示错误消息。

5079029 

在单台主机上取消注册软件包时,可能会失败,并显示错误消息“该软件包正在被数据库实例使用,无法删除”。 

5094611 

在极少数情况下,需要在管理系统信息库中打开写入事务的管理操作可能会挂起,一直等待事务打开。 

5103186 

NSUP 在 Windows 2003 上启动时不能关闭一个网络。 

6225613 

 

6271063 

安装/删除 HADB c 软件包 (Solaris: SUNWhadbc, Linux: sun-hadb-c) 版本的 symlink /opt/SUNWhadb/ 会导致出错。

6174781 

hadbm 命令状态—重新启动管理代理后的短时间内,节点可能会显示它们的 nodestate 状态为“未知”。

6175436 

如果 hadbm addnodeshadbm refragment 失败,且显示错误消息 HADB-E-11747“已存在节点组 all_nodes”,请再次运行 hadbm refragment

61746766179084 

无法运行 configure-ha-cluster。 

6178228 

6179010 

configure-ha-cluster 失败。 

6181845 

在 Windows 上无法创建大于 2 GB 的数据设备。 

6189189 

给出绝对路径后,export-http-lb-config 无法创建 loadbalancer.xml 文件名。

6198225 

快速入门指南中存在输入错误;例如,重复的句子。 

6195779 

某些过滤器下拉式列表中的选项值没有国际化。 

6196741 

升级 J2SE 1.4.x 时,代替捆绑 J2SE 组件的升级 J2SE 组件无法正常使用。 

6207616 

主机关闭后,如果 hadbm 命令需要连接到管理代理,则该命令可能会挂起几分钟。

6212791 

单击树节点时,在右窗格中没有显示任何项。 

6216096 

处于挂起状态的事务可能会导致节点由于“日志缓冲区已满”而出现故障,并且会导致大量事务异常中止。 

6225613 

executeUpdate() 中 LOB 的大小不一致。 

6227502 

EJB 计时器服务中的初始化错误不应记录为 SEVERE

6228789 

hadbm delete 命令失败。

6230415 

HADB-E-21070:操作未在限制的时间内完成,但并未取消,因而可以在以后完成。 

6230792 

hadbm:错误 22009:发出的命令在过去 300 秒内无进展。 

6232347 

对于 asdamin deploy--helpdropandcreatetables 不完全正确。

6232838 

不需要的日志调用阻止了对应用程序服务器进行调整。 

6232974 

从 8.0 Platform Edition 升级到 8.1 Enterprise Edition 时,安装程序无法创建节点代理。 

6233142 

安装/卸载 HADB 时,应保留软链接 /opt/SUNWhadb/4,但并非始终都这样。 

6233276 

无法对 URL -pattern /*.jsp 进行表单验证。

6233469 

asadmin 帮助中的帮助文本不正确。

6233476 

update-file-user 及类似命令的帮助文本不正确。

6237567 

“创建管理对象资源”窗口中缺少键 adminObjectStep2PageHelp

6238477 

无法解析同一应用程序服务器实例中的“corba 名称”EJB 引用。 

6239630 

无法正确映射特定的实体 Bean。 

6239837 

管理 JMS server-config 时,重新连接时间间隔的单位和默认值均不正确。

6240661 

在某些语言环境中,某些消息仍保留为英文。 

6241311 

“池空闲超时”字段的说明不正确。 

6241368 

管理控制台登录屏幕和联机帮助无法引用英文浏览器语言。 

6243395 

不能对 JMS 和 JDBC 资源执行事务恢复。 

6245922 

Application Server 不断崩溃。 

6246426 

展开 WEB-INF/lib 中的 JAR 文件会泄漏应隐藏的内容。 

6249637 

更改 JDBC 连接池属性后需要重新启动。 

6249662 

Proxy-auth-cert 的格式不正确。

6250989 

SOAP 元素。addChildElement 添加了不带标记的不完整元素。

6252187 

高可用性单点登录会在不同的领域之间传播主体。 

6252810 

手册页中的 configure-ha-persistence 不是最新的。

6253735 

快速入门中不包含高可用性信息。 

6254393 

捆绑的快速入门中具有过时的发行说明链接。 

6254462 

重新启动数据库后,连接验证代码会抛出 NPE。 

6255253 

捆绑文档中的“如何定购”链接到错误的 URL。 

6255440 

同步的性能改进。 

6255458 

delete-virtual-server 中存在输入错误。

6255524 

UpdateTask ANT 任务不能在 ANT 1.6.2 中执行。

6255564 

从 Platform Edition 升级到 Enterprise Edition 后,由于管理用户验证失败,因此启动升级后的域也会失败。 

6258844 

升级到 8.1 Update 1 后,文件领域用户登录不起作用。 

6258997 

更正了命令行界面手册页中 --secure 选项的说明。

6259125 

asadmin get 文档不完善且不清晰。

6262564 

PrivateKeyProcessor 不支持通过 keyIdentifier 来执行 get。

6262824 

Solaris 10:在全局区域中使用 ma-initd 脚本停止管理代理时,也会停止本地区域中的管理代理。 

6263684 

Linux RPM 修补程序生成脚本需要对 README 进行手动更改。

6263686 

生成 svr4 修补程序会在 README 中插入错误的条目。

 

package-appclient 脚本已损坏。

6264969 

对使用 PointBase 的所有 AS 样例的设置失败:无法将数据库升级到 5.1 版。 

6265687 

安装程序的图像上显示错误的产品版本。 

6266183 

高可用性测试失败:重新启动后领域名称为空。 

6267410 

如果“日志级别”设置为 FINE,则在 session.invalidate() 中会发生异常。

其他 HADB 信息

本节介绍有关 Application Server 8.1 中所包含的 HADB 实现的其他重要信息。

HADB 增强功能

HADB 文件系统支持

如果您要将 HADB 配置为使用以下文件系统之一,则需考虑几个重要事项:

升级高可用性数据库

Procedure升级前任务/数据迁移

开始之前

用户应保留 HADB 历史文件、管理代理配置文件、日志文件、系统信息库以及安装路径以外的所有数据设备。如果尚未这样做,应在升级前完成此操作。要移动管理系统信息库和配置文件,请执行以下操作:

  1. 停止所有旧的管理代理,但继续运行 HADB 节点。

  2. 在每台主机上,将系统信息库目录移到新位置。

  3. 在每台主机上,将 dbconfig 目录复制到新位置。

  4. 在每台主机上,更新 mgt.cfg 文件,并为 dbconfig 和系统信息库目录设置正确的路径。

  5. 使用更新后的 mgt.cfg 文件启动管理代理。

Procedure升级过程

要从 HADB 4.4.x 版升级到 4.4.2-7 版,请执行以下步骤:

  1. 根据需要执行上述的升级前任务。

  2. 将 HADB 4.4.2-7 版安装到所有 HADB 主机上(安装到不同于 4.4.x 版路径的其他路径中,例如 /opt/SUNWhadb/4.4.2-7 中)。

  3. 将 HADB 4.4.2-7 版安装到 hadbm 客户机主机上(如果该客户机主机的路径与 HADB 主机的不同)。

  4. 停止所有 HADB 主机上运行的全部管理代理。

  5. 使用新版本的软件和旧的配置文件来启动管理代理进程。在余下的步骤中,请使用在新版本的 bin 目录中找到的 hadbm 命令。

  6. 在管理域中注册该软件包(由于默认的软件包名称为 V4.4,因此可能需要使用其他软件包名称,以免与现有的同名软件包冲突):


    hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.2-7 V4.4.2-7
  7. 运行 hadbm listpackages 命令并检查新软件包是否已在该域中注册。

  8. 使用新的 hadbm 4.4.2-7 版重新启动数据库。如果需要移动设备和历史文件,请运行联机升级,并在同一操作中为设备和历史文件设置新路径:


    hadbm set packagename=V4.4.2-7,devicepath=new_devpath,
    historypath=new_histpath
    

    否则,如果设备和历史文件位于安装目录之外,则运行以下命令后,将仅滚动重新启动这些节点:


    hadbm set packagename=V4.4.2-7 database name
    
  9. 检查数据库是否处于“正在运行”状态(使用 hadbm status 命令)并且能够正常处理客户机事务。

  10. 如果结果有效,随后就可以删除旧安装。在取消注册旧软件包之前,先从 ma 系统信息库中删除对旧软件包的所有引用。否则,hadbm unregisterpackage 将失败,并显示消息“软件包正在使用”。伪重新配置操作(例如 hadbm set connectiontrace=same as previous value)将删除对旧软件包的所有引用。现在,取消注册旧软件包:


    hadbm unregisterpackage [--hosts=host-list] old pacakge name
    
  11. 从文件系统中删除旧安装。

Procedure测试升级

在 Solaris 上,要测试升级是否成功,请检查是否已正确执行升级:

  1. 确保运行的进程使用了新的二进制。在所有 HADB 节点上检查以下路径:


    new path/bin/ma -v
    new path/bin/hadbm -v
  2. 检查数据库是否处于运行状态。使用以下命令应该显示所有 HADB 节点都处于“正在运行”状态。


    new path/bin/hadbm status -n
  3. 确保使用 HADB 的产品已将其指针更改为指向新的 HADB 路径。

  4. 使用 HADB 的产品可以运行自己的升级测试,以检验 HADB 升级是否有效。

    联机升级后,如果新版本无法正常运行,请转回使用以前的 HADB 版本。但是,如果已对管理代理系统信息库进行了更改,则可降级 HADB 本身,但新的管理代理必须继续运行。

特殊的部署和升级信息

本节列出有关 HADB 部署和升级的其他信息。

部署

从 4.4.1 联机升级到 4.4.2

不可能从 4.2 或 4.3 联机升级到 4.4。但是,4.4 支持未来版本的联机升级。要从 4.4.1 升级到 4.4.2,请执行以下步骤:

  1. 将 4.4.2 安装到所有 HADB 主机上(安装到不同于 4.4.1 版路径的其他路径中,例如在 /opt/SUNWhadb/4.4.2-6 中)。

  2. 将新版本安装到 hadbm client 主机上。

  3. 停止 HADB 主机上运行的所有管理代理。

  4. 使用新版本的软件和旧的配置文件来启动管理代理进程。在余下的步骤中,请使用在新版本的 bin 目录中找到的 hadbm 命令。

  5. 在管理域中注册该软件包(由于默认的软件包名称为 V4.4,因此可能需要使用其他软件包名称,以免与现有的同名软件包冲突):


    hadbm registerpackage --packagepath=/opt/SUNWhadb/4.4.2-6 V4.4.2
  6. 使用新版本重新启动数据库(以下命令将滚动重新启动这些节点):


    hadbm set packagename=V4.4.2 database_name
    
  7. 检查数据库是否处于“正在运行”状态(使用 hadbm status 命令)并且能够正常处理客户机事务。

  8. 如果一切运行正常,随后就可以删除旧安装。

    在取消注册旧软件包之前,先从 ma 系统信息库中删除对旧软件包的所有引用。否则,hadbm unregisterpackage 将失败,并显示消息“软件包正在使用”。伪重新配置操作(例如 hadbm set connectiontrace=<same_as_previous_value>)将删除对旧软件包的所有引用。现在,取消注册旧软件包:


    hadbm unregisterpackage [--hosts=<host_list>] <old_package_name>
    

    如 HADB installation instructions 所述,从文件系统中删除旧安装。

已知 SQL 限制

高可用性负载平衡

Application Server 包括 HTTP、IIOP 和 JMS 客户机的负载平衡;HTTP 会话故障转移支持;EJB 群集和故障转移支持;具有高可用性的 EJB 计时器;分布式事务恢复;对持续式应用程序升级的支持;以及一个用于存储 J2EE 应用程序瞬间状态的高可用性数据库。

可用性允许对群集中的 Application Server 实例进行故障转移保护。一个 Application Server 实例出现故障时,其他 Application Server 实例将接管指定给该故障服务器的会话。会话信息存储在 HADB 中。HADB 支持 HTTP 会话的持久性、有状态会话 Bean 和单点登录证书。

Application Server 产品发行版

Application Server 产品以多种方式提供。下表列出了本产品的各种提供机制。

Application Server 产品发行版 

提供机制 

Sun Java Enterprise System 的 Application Server Enterprise Edition 组件。 

基于文件的分发 

需要通过 Sunsolve 进行修补程序安装

Application Server 标准版和 Enterprise Edition 独立产品 

基于文件的分发和基于软件包的分发 

兼容性问题

在 Sun Java System Application Server Enterprise Edition 的下一个主要发行版中,将引入以下不兼容问题:

Deploytool

Deploytool 将不再可用。NetBeans IDE 中提供相同的功能。有关更多信息以及要规划迁移,请参见 http://www.netbeans.org/kb/ 上适用于 NetBeans 4.1 的 J2EE 1.4 教程。

验证器

类加载器更改

在当前发行版中,可以在 JVM 系统类路径中找到添加到 domain.xml(应用服务器配置文件)的 classpath-prefixserver-classpathclasspath-suffix 属性中的 JAR 和目录条目。依赖于这种行为的应用程序可能会使用类 java.lang.ClassLoader 中的以下方法,访问 JVM 系统类路径中的类或其他资源:

在下一个主要发行版中,添加到 classpath-prefixserver-classpathclasspath-suffix 中的 JAR 和目录条目在 JVM 系统类路径中将不再可用。如果应用程序使用上述方法之一,Sun 强烈建议使用无需假定资源包含在系统类路径中的等效方法。不依赖于 JVM 系统类路径的等效方法可在 java.lang.ClassLoader 中获得,并应尽量使用这些方法;例如:


示例 2–1 旧代码

java.net.URL url = ClassLoader.getSystemResource
("com/acme/tools/tools.properties");


示例 2–2 建议的更改

java.net.URL url = this.getClass().getClassLoader().getResource
("com/acme/tools/tools.properties");

如果不能更改此代码,可以选择使用下一个发行版中将添加的一个新配置选项,以便设置 JVM 系统类路径。

Web 服务安全性配置

使用 wss-client-config.xmlwss-server-config.xml 文件可以配置 Web 服务的安全性。请注意,这些配置文件的内容和名称不稳定,可能会更改。但等效的功能可以继续使用。

J2EE 支持

Sun Java System Application Server Enterprise Edition 8.1 2005Q2 支持 J2EE 1.4 平台。下表介绍了 J2EE 1.4 平台上可用的增强 API。

表 2–5 J2EE 1.4 平台上可用的 API

API 

说明 

组件 

应用程序和应用程序客户机 

通过 XML 模式实现标准部署描述符 

Enterprise JavaBeans (EJB) 2.1 

计时器服务和 EJB Web 服务端点 

Java Servlet 2.4 

Web 服务端点过滤器 

JavaServer Pages (JSP) 2.0 体系结构 

表达式语言和标记库 

J2EE Connector Architecture 1.5 

内嵌资源适配器和 Java 消息服务 (JMS) 插件化 

Web 服务 

Java Web Services Developer Pack 1.5 

用于构建、测试和部署 XML 应用程序、Web 服务和 Web 应用程序的集成工具包 

用于基于 XML 的远程过程调用的 Java API (JAX-RPC) 1.1 

用于 WSDL 和 Java 技术的映射以及对开发 Web 服务客户机和端点的支持 

WS-I 基本配置文件 1.0 

使用 WSDL 和 SOAP 启用互操作性的元素 

Java 的带附件的 SOAP API (SAAJ) 1.2 

用于基于 SOAP 的消息传送的 API;帮助创建带有附件的 SOAP 消息 

用于 XML 注册表 的 Java API (JAXR) 1.0 

统一且标准的 API,用于访问 XML 注册表,例如用于通用说明、发现和集成(UDDI 和 ebXML)的 XML 注册表 

其他 

J2EE Deployment 1.1 

启用部署 J2EE 组件和应用程序的标准 API 

J2EE Management 1.0 

管理 J2EE 平台的信息模型的定义 

Java Management Extensions (JMX) 1.2 

标准管理 API 

Java 容器授权合同 (JACC) 1.0 

J2EE Application Server 和授权策略提供器之间的安全性合同的定义 

用于 XML 处理的 Java API (JAXP) 1.2 

应用程序可以用来解析和变换 XML 文档的 API;还添加了对处理 XML 模式的支持 

JMS 1.1 

一种消息传送标准,使 J2EE 应用程序组件可以创建、发送、接收和读取消息;还添加了对用于队列和主题的统一 API 的支持 

JavaMail 1.3 

一组建立邮件系统模型的抽象类;还包括对 API 的细微更新 

高性能

Application Server 包括 HTTP、IIOP 和 JMS 客户机的负载平衡;HTTP 会话故障转移支持;EJB 群集和故障转移支持;具有高可用性的 EJB 计时器;分布式事务恢复;对持续式应用程序升级的支持;以及一个用于存储 J2EE 应用程序瞬间状态的高可用性数据库。

可用性允许对群集中的 Application Server 实例进行故障转移保护。一个 Application Server 实例出现故障时,其他 Application Server 实例将接管指定给该故障服务器的会话。会话信息存储在 HADB 中。HADB 支持 HTTP 会话的持久性、有状态会话 Bean 和单点登录证书。

可伸缩性

Application Server 可以通过服务器实例的群集和请求负载平衡来支持水平可伸缩性。它也可以实现业内领先的支持大型多处理器计算机的垂直可伸缩性。可以对集成消息代理进行群集以获得更佳的可伸缩性和可用性。从 HTTP 客户机访问的客户机、基于 RMI/IIOP 的丰富客户机应用程序、Web 服务客户机和 JRM 客户机可被负载平衡到 Application Server 群集。

JavaServer Faces 1.1 支持

Sun Java System Application Server Enterprise Edition 8.1 支持 JavaServer Faces 1.1 技术。JavaServer Faces 技术由一组服务器端 API 组成,这些 API 表示用于管理其状态、事件、处理和输入验证的用户界面组件。这些 API 还定义了页面导航并支持国际化和辅助功能。您可以使用 JSP 自定义标记库添加自定义用户界面组件。

使用 JavaServer Faces 技术进行开发时,开发团队的每个成员可以集中开发整个进程的单个部分,然后由一个简单的编程模型将这些部分连接起来,从而使开发周期更为简单高效。