Sun Java System Application Server Platform Edition 8.2 发行说明

第 2 章 关于 Application Server Platform Edition 8.2

Sun JavaTM System Application Server Platform Edition 8.2 是与 J2EE 1.4 平台兼容的服务器,它用于开发和部署 J2EE 应用程序和基于 Java 技术的 Web 服务。

本章包括:

8.2 发行版的新增功能

Sun Java System Application Server Platform Edition 8.2 实现了很多新增功能:

Sun Java System Application Server Platform Edition 可免费用于开发、部署和再分发。有兴趣进行再分发的客户应与 Sun OEM 销售 联系以获取再分发许可证。Sun 提供需额外付费的支持。如果要进行联系以获取有关 Java 2 Platform, Enterprise Edition 的许可证,请填写此表单

硬件和软件要求

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

平台要求

下表列出了 Sun Java System Application Server Platform Edition 8.2 产品所支持的操作系统。

表 2–1 支持的操作系统

操作系统 

最小内存 

建议的内存 

最小磁盘空间 

建议的磁盘空间 

JVM 

Sun Solaris 9, 10 (SPARC) 

Solaris 9, 10 (x86) 

512 MB 

512 MB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 1.4.2_10, J2SE 5_06 

Sun Java Desktop System 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 1.4.2_10, J2SE 5_06 

Redhat Enterprise Linux 3.0 U1, 4.0 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 1.4.2_10, J2SE 5_06 

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_10, J2SE 5_06 

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


注 –

在任一 Microsoft Windows 平台上运行 Application Server 时,必须使用 NTFS 文件系统,而不是 FAT 或 FAT32。


重要修补程序信息

有关 Sun Java System Application Server Platform Edition 8.2 当前所需的修补程序列表,请访问 http://sunsolve.sun.com,然后选择 "Patches" 或 "Patch Portal"。单击 Sun Java System Application Server Platform Edition 8.2 链接。操作系统修补程序的要求更改并且 Java Enterprise System 组件的修补程序变得可用后,这些更新可在 SunSolve 上获得,最初的形式为建议的修补程序群集。

Solaris 修补程序要求

建议 Solaris 8, 9, 10(x86、SPARC)用户安装“Sun 推荐的修补程序群集”。此修补程序群集可以在 SunSolve Web 站点上的 "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 Platform Edition 支持使用相应的 JDBC 驱动程序连接至任何 DBMS。有关经 Sun 测试发现适合构建与 J2EE 兼容的数据库配置的组件列表,请参见下表。

表 2–2 与 J2EE 兼容的 JDBC 驱动程序

JDBC 供应商 

JDBC 驱动程序类型 

支持的数据库服务器 

i-net Software 

类型 4 

Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2.x

Sybase ASE 12.5.2 

Microsoft SQL Server 2000 4.0 Service Pack 1 

IBM 

类型 2 

IBM DB2 8.1 Service Pack 3+ 

Derby 

类型 4 

Apache Derby 10.1.2.1 

PointBase 

类型 4 

PointBase Network Server 5.2 

MySQL 

类型 4 

5.x

DataDirect 

类型 4 

Oracle (R) 8.1.7, 9i, 9.2.0.3+, 10.1.x, 10.2.x

Sybase ASE 12.5.2 

Microsoft SQL Server 

IBM DB2 8.1 Service Pack 3+ 

Oracle 

类型 4、类型 2 

Oracle (R) 9.2.0.3+, 10.1.x, 10.2.x

使用捆绑的 Derby 数据库

本节介绍了有关使用与 Application Server 8.2 捆绑在一起的 Derby 数据库实现的说明。

启动和停止 Derby 数据库

Sun Java System Application Server 8.2 引入了两个用于启动和停止 Derby 网络服务器的新 asadmin 命令。

Derby 实用程序脚本

Application Server 8.2 附带的 Derby 配置还包括若干有用的脚本,这些脚本可有助于您使用 Derby。可以在 <appserver_install_dir>/derby/frameworks/NetworkServer/bin 目录中使用以下脚本:

Procedure配置环境以运行 Derby 实用程序脚本

步骤
  1. DERBY_INSTALL 环境变量设置为指向 <appserver_install_dir>/derby 目录。

  2. 取消 CLASSPATH 环境变量的设置。

  3. 还可以有选择地设置以下属性:

    1. DERBY_SERVER_HOST 设置为网络服务器将侦听的主机。

      还可以设置为 0.0.0.0 来启用所有侦听器。

    2. DERBY_SERVER_PORT 设置为网络服务器将侦听的端口号。

另请参见

有关这些实用程序的更多信息,请参见 Derby 工具管理指南

将 Pointbase 中的表导出到 Derby

本示例介绍如何使用 Netbeans 5.0 捕获 Pointbase 中表的 DDL 并在 Derby 中创建相同的表。也可以使用 commander 工具和 unload database 命令来执行此操作:

./startcommander.sh
Do you wish to create a new Database. (Yes (Y) or No (N))? [default: N]: 
Enter product to connect with: (Embedded (E) or Server (S))? [default: E]: e
Enter driver to use? [default: [com.pointbase.jdbc.jdbcUniversalDriver]: 
Enter database URL? [default: [jdbc:pointbase:embedded:sample]: 
Enter Username? [default: PBPUBLIC]: 
Enter Password? [default: PBPUBLIC]: 

PointBase Commander 5.2 ECF build 294 size restricted version EMBEDDED

Interactive SQL command language. SunOS/5.9

(C) Copyright 2004 DataMirror Mobile Solutions, Inc. All rights reserved.

Licensed to: Sun_customer_demo_use
For commercial version contact PointBase at: 
pointbase.com
PHONE: 1-877-238-8798 (US & CANADA)
       1-408-961-1100 (International)
WEBSITE: www.pointbase.com

SQL>unload database sampledb.sql;
SQL> unload database sampledb.sql;
SQL> 13 Row(s) Unloaded. (PBPUBLIC.CUSTOMER_TBL)
SQL> 4 Row(s) Unloaded. (PBPUBLIC.DISCOUNT_CODE_TBL)
SQL> 30 Row(s) Unloaded. (PBPUBLIC.MANUFACTURE_TBL)
SQL> 11 Row(s) Unloaded. (PBPUBLIC.MICRO_MARKETS_TBL)
SQL> 9 Row(s) Unloaded. (PBPUBLIC.OFFICE_TBL)
SQL> 4 Row(s) Unloaded. (PBPUBLIC.OFFICE_TYPE_CODE_TBL)
SQL> 15 Row(s) Unloaded. (PBPUBLIC.ORDER_TBL)
SQL> 6 Row(s) Unloaded. (PBPUBLIC.PRODUCT_CODE_TBL)
SQL> 30 Row(s) Unloaded. (PBPUBLIC.PRODUCT_TBL)
SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_DATA_TBL)
SQL> 10 Row(s) Unloaded. (PBPUBLIC.SALES_REP_TBL)
SQL> 52 Row(s) Unloaded. (PBPUBLIC.SALES_TAX_CODE_TBL)
SQL> 12 Table(s) Unloaded.
SQL> quit;

在上述示例中,unload database 命令的执行结果将被写入 sampledb.sql 文件。sampledb.sql 文件中包含创建必要的表和索引所需的所有 DDL。它还包含将数据插回到数据库中的 DML。通过 commander 命令 RUN 使用生成的脚本可以将数据导入到其他 Pointbase 数据库中。以下是有关生成的文件中的 INSERT 语句和相关数据的示例:

INSERT INTO "ADVENTURE"."CATEGORY" (
"CATID", "LOCALE", "NAME", "DESCRIPTION", "IMAGEURI" )
VALUES( ?, ?, ?, ?, ? );
{
'ISLAND              ','en_US','Island Adventures','Experience an island /
paradise in a way fit for your needs.','Island_Adventures.gif'
'JUNGLE              ','en_US','Jungle Adventures','Experience a jungle /
paradise in a way fit for your needs.','Jungle_Adventures.gif'
'MOUNTAIN            ','en_US','Mountain Adventures','Experience an /
elevated paradise with a view.','Mountain_Adventures.gif'
'ORBITAL             ','en_US','Orbital Adventures','Experience a vacuum /
paradise with a beautiful view and where no one can hear you scream.', /
'Space_Adventures.gif'
'WESTERN             ','en_US','Western Adventures','Enjoy the Wild West. /
','Western_Adventures.gif'
'SOUTH_POLE          ','en_US','South Pole Adventures','Experience a /
frozen paradise in a way fit for your needs.','SouthPole_Adventures.gif'
};

可以轻松地编辑通过 commander unload database 命令生成的文件,以使其仅包含 DDL(例如,编写用于处理 insert 语句的程序并不困难)。在简单测试中,我们可以对 Pointbase 样例数据库使用 unload database 命令,然后编辑生成的脚本,可做出如下更改:

接下来,使用简单的 Ant 脚本执行使用 sql 目标的 DDL。最后,对 sun-appserv-samples 数据库重复执行相同的操作,并对生成的 SQL 文件做出如下更改:

要将 Pointbase Java 过程转换为使用 Derby,需要对 Java 代码和 CREATE PROCEDURE 语句进行一些更改。有关创建 Derby Java 过程的信息,请参见 Derby 参考手册。Derby 的下一发行版将支持布尔变量数据类型。

浏览器

本节列出了 Sun Java System Application Server Platform Edition 8.2 管理控制台和快速入门指南所支持的浏览器。在 Application Server 上运行的应用程序不同,支持的浏览器也不同。

表 2–3 支持的浏览器

浏览器 

版本 

Mozilla 

1.4, 1.5, 1.6, 1.7.x

Netscape Navigator 

6.2, 7.0 

Internet Explorer 

5.5 Service Pack 2, 6.0 

Firefox 

1.x

升级 Sun Java System Application Server

有关从 Application Server 的先前版本升级至 Sun Java System Application Server Platform Edition 8.2 的完整说明,请参阅《Sun Java System Application Server Platform Edition 8.2 Installation Guide》

其他要求

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

8.2 发行版中修复的错误

6184864

如果 where 子句包含 OR 运算符和单值型 cmr 导航,则 EJBQL 查询可能不会包含所有匹配的结果。

6198981

“新建 Web 服务向导”中的面板不完整。

6207862

- asadmin create-domain --help 命令返回不正确的用法,并且记录了无效的选项 (--admin.jmxport)。

6155080

无法通过 java-methodclient-side message-security-binding 元素中指定目标消息。

6173248

使用 AMX API 时,从服务器中删除 J2EE 应用程序引用将会删除该应用程序,但仍然可以访问该应用程序。

6360646

AS 8.2 PE/EE:使用 PlatformMBeanServer(如果有)。

6295215

DOCS:java.sql.statement.getConnection() 不符合池连接的 javadoc 规范。

6290666

即使在停止并删除后,域仍没有释放端口 8080

6286688

首次创建 JMS 连接工厂时无法保存事务支持值。

6298257

对于 Application Server 8.1 UR2 PE,根本无法在 Windows 2000 上运行 asant;返回“命令太长”错误。

6320008

丰富客户机 RMI-IIOP 故障转移测试失败。

6347544

在 8.2 中支持 Grizzly ARA 包。

6275566

未更新 Application Server 8.1 虚拟服务器访问日志的位置。

6351023

JMS 的通用 RA 需要与 AS 8.2 集成。

6288752

XA 事务日志的磁盘 I/O 太高。

6356910

通过解除与控制 TTY 的关联,使 Application Server 8.x 本地启动器可以使用 Bourne shell。

6307510

S1AS 7.0/SJAS7.1 : EJBC/RMIC 生成不具有全限定包名称的 STUB/Skel。

6286783

服务器必须拒绝带有双 Content-Length 标头的请求。

6207862

asadmin create-domain --help 生成一些 CVS 合并字符,且出现乱码。

6377830

当下一用户使用同一连接时,setAutoCommit 仍将设置为 false

6317857

取消部署:取消注册 mbean 时发生错误。

6284124

Servlet 容器 UTF-8 URI 映射问题。

6276218

如果在安装路径中使用空格,则 Deploytool 将无法工作。

6211979

如果采用基于文件的非 root 用户安装,则部署命令将失败。

6354545

在 Windows 中部署会挂起。

6283805

升级后无法访问已部署的应用程序。

6327037

需要改进部署性能。

6270387

重新部署有时会失败,并显示错误消息“运行 EJBC 时发生错误 -- EJB 编译器发生致命错误”。

6258619

取消部署后,没有释放所有文件。

6276021

WAR 文件的重新部署(远程部署创建器)失败。

6330332

在部署/取消部署方案中发生 AS8102 内存泄漏(来自 6324399 EJBClassLoader 的 SubCR)。

J2EE 支持

Sun Java System Application Server 8.2 支持 J2EE 1.4 和 Java EE 5 平台。下表介绍了 J2EE 1.4 平台上可用的增强 API。

表 2–4 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 的细微更新 

切换到其他支持的 J2SE 版本

Sun Java System Application Server 8.2 支持将 J2SE 1.4.2 和 J2SE 5.0 作为基础 JVM。如果要从一个 J2SE 版本切换到另一个版本,请执行以下常规步骤。(Windows 和 Unix)

Procedure切换到另一个支持的 J2SE 版本

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

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

  2. 完全停止 Application Server。

    您可以使用以下命令行:


    as-install/bin/asadmin stop-domain

    或者,也可以使用管理控制台 GUI:

    1. 单击 "Application Server" 节点。

    2. 单击停止实例

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

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

  5. 重新启动 Application Server。


    as-install/bin/asadmin start-domain
接下来的操作

如果是从捆绑版本 (JDK 1.4.2_06) 以前的 JDK 版本进行升级,则仅使用上述步骤无法升级到 J2SE 5.0 或更高版本。具体而言,除了上述步骤,您还必须删除所有现有的域,然后重新创建它们。