Sun GlassFish Enterprise Server v2.1.1 发行说明

第 2 章 关于 Sun GlassFish Enterprise Server

Enterprise Server 是兼容 Java EE 5 平台的服务器,用于在大规模生产环境中开发和部署 Java EE 应用程序和基于 Java 技术的 Web 服务。

本章包括:

Sun GlassFish Enterprise Server v2.1.1 中的新功能

Grizzly 1.0.30 – 除了集成 Grizzly 1.0.30 之外,还对 Grizzly 进行了改进,以便在 Enterprise Server 中实现更快捷、更可靠的实例故障转移。

通过 mod_jk 插件支持 Apache Web Server – 有关 Enterprise Server v2.1.1 如何支持 Apache Web Server 的更多详细信息,请参见 Web Stack 支持

支持 JSF 1.2_13 – Enterprise Server v2.1.1 支持 JSF 1.2_13。

支持 Jersey 1.0.3 – Enterprise Server v2.1.1 支持 Jersey 1.0.3。

支持 Sun GlassFish Message Queue 4.4 – Enterprise Server v2.1.1 支持 Sun GlassFish Message Queue 4.4。有关更多详细信息,请参见 Message Queue 版本

错误修复和增强功能 – 要查看发行版中已修复错误的完整列表,请参见 GlassFish 问题跟踪器bugs.sun.com

Sun GlassFish Enterprise Server v2.1.1 相当于 Sun GlassFish Enterprise Server v2.1 修补程序 06,该修补程序可以通过 SunSolve 获得。

Sun GlassFish Enterprise Server 的功能

这些功能在 Sun GlassFish Enterprise Server 中推出,包括以下功能:

硬件和软件要求

本节列出了在安装 Sun GlassFish Enterprise Server 产品之前必须满足的要求。

支持的平台

下表列出了 Sun GlassFish Enterprise Server v2.1.1 所兼容的操作系统。所有受支持的操作系统都是 32 位,除非另有说明。64 位 JDK 仅在 64 位支持的操作系统上受支持。


注 –

该表列出了每个受支持的操作系统的最低要求版本。此外还支持最低要求版本的服务包更新。


表 2–1 支持的操作系统

操作系统 

最小内存 

建议的内存 

最小磁盘空间 

建议的磁盘空间 

JVM 

Sun Solaris 9, 10 (SPARC) 

Solaris 9, 10 (x86) 

512 MB 

512 MB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

64 位 Sun Solaris 10(SPARC、x86) 

512 MB 

512 MB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

Red Hat Enterprise Linux 3.0 Update 1、4.0 和 5.x  

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

64 位 Red Hat Enterprise Linux 5.x 

512 MB  

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

SUSE Linux Enterprise Server 10(也支持 SP1、SP2) 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

64 位 SUSE Linux Enterprise Server 10(也支持 SP1) 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

64 位 SUSE Linux Enterprise Server 11 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

Ubuntu Linux 8.04, Hardy 发行版 

仅支持作为开发者平台。 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

AIX 5.2、5.3、6.1 

512 MB 

1 GB 

250 MB 可用空间 

500 MB 可用空间 

J2SE 5.0 

Java SE 6 

Windows 2000 SP4+ 

Advanced Server SP4+ 

Windows Server 2003、2008 

Windows XP Pro SP3 

Windows Vista 

Windows 2008 

1 GB 

2 GB 

500 MB 可用空间 

1 GB 可用空间 

J2SE 5.0 

Java SE 6 

Windows 7 

仅支持作为开发者平台 

1 GB 

2 GB 

500 MB 可用空间 

1 GB 可用空间 

J2SE 5.0 

Java SE 6 

Macintosh OS 10.4,10.5(Intel、Power) 

仅支持作为开发者平台。 

512 MB 

512 MB 

250 MB 可用空间 

500 MB 可用空间 

Java SE 5 

OpenSolaris 

仅支持用于评估 

512 MB 

512 MB 

250 MB 可用空间 

500 MB 可用空间 

Java SE 5 

Java SE 6 


注 –

建议您在任一 Microsoft Windows 平台上运行 Enterprise Server 时,使用 NTFS 文件系统,而不是 FAT 或 FAT32。


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


注 –

虽然不支持 Mac OS 用于生产部署,但支持其用于开发用途。可以在 GlassFish 下载页或列出 Mac 的 SDK 页中获得有关下载 Macintosh 操作系统的信息。例如,在 Java EE 5 SDK Update 5 下载页面 https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=java_ee_sdk-5_05-nojdk-oth-JPR@CDS-CDS_Developer 上。


系统虚拟化支持

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

重要修补程序信息

Solaris 修补程序要求

建议 Solaris 10 (x86, SPARC) 用户安装“Sun 推荐的修补程序群集”。可在 SunSolve Web 站点上的“推荐的修补程序和安全修补程序”下找到该修补程序群集。

JDK 版本

Enterprise Server 需要的最低(并且经过认证的)JDK 版本是 1.5.0_14。

Procedure切换到支持的 Java SE 版本

如此处所述,可以通过编辑 asenv 文件切换到支持的 Java SE 版本。

  1. 如果尚未这样做,请在系统上安装新的 Java SE 版本。

    可以从 http://java.sun.com/javase 下载 Java SE SDK

  2. 停止 Enterprise Server。

    • 可以使用以下命令行:

      install_dir/bin/asadmin stop-domain

    • 或管理控制台:

      1. 单击 "Application Server" 节点。

      2. 单击“停止实例”。

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

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

  5. 重新启动 Application Server。

    • 可以使用以下命令行:

      as-install/bin/asadmin start-domain

    • 或管理控制台:

      1. 单击 "Application Server" 节点。

      2. 单击“启动实例”。

Apache Ant 版本

Apache Ant 1.6.5 版本已与除 Ubuntu Linux 之外的所有操作系统上的 Enterprise Server 进行捆绑。Apache Ant 1.7.0 版本已与 Ubuntu Linux 进行捆绑并与 Enterprise Server 一同使用。

JDBC 驱动程序和数据库

表 2–2 列出了满足 Java EE 兼容性要求的数据库和驱动程序。所有受支持的 Sun GlassFish Enterprise Server 配置必须至少包含一个来自此表的数据库/驱动程序组合,例如捆绑的 Java DB 数据库和驱动程序。此外,Enterprise Server 支持使用相应的 JDBC 驱动程序与任何其他 DBMS 进行 JDBC 连接。

表 2–2 兼容 Java EE 的 JDBC 驱动程序

JDBC 驱动程序供应商 

JDBC 驱动程序类型 

支持的数据库服务器 

Derby Network Client 

类型 4 

Derby 10.2 

DataDirect 3.6.x, 3.7.x

(也称为 Sun JDBC 驱动程序) 


注 –

Sun JDBC 驱动程序仅随具备 Enterprise 配置文件的安装包提供。


类型 4 

Oracle 10g 

Oracle 9i 

Sybase ASE 12.5, 15 

MS SQL 2000、2005 

DB2 9.1 

DB2 8.1、8.2 

MySQL Connector/J Driver 3.1 

类型 4 

MySQL 5.0 

Oracle 10g、11g  

类型 4 

Oracle 10g、Oracle 11g 

-RAC 

PostGres 

类型 4 

8.1、8.2 .x

一般情况下,Enterprise Server v2.1.1 支持符合 Java EE 规范的所有 JDBC 驱动程序。

使用捆绑的 Java DB 数据库

本节提供使用与 Enterprise Server v2.1.1 进行了捆绑的 Java DB 数据库实现的说明。Java DB 基于 Apache Derby 数据库

启动和停止 Java DB 数据库

Sun GlassFish Enterprise Server 有以下 asadmin 命令,用于启动和停止 Java DB 网络服务器。

Java DB 实用程序脚本

随 Enterprise Server 2.1.1 提供的 Java DB 配置包含可以帮助您使用 Java DB 的脚本。as-install/javadb/bin 目录中提供了以下脚本供使用:

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

  1. 确保 JAVA_HOME 环境变量指定了安装 JDK 的目录。

  2. DERBY_HOME 环境变量设置为指向 as-install/javadb 目录。

另请参见

有关这些实用程序的更多信息,请参见以下 Derby 文档:

Message Queue 版本

对于基于文件的安装,Message Queue 4.4 随 Enterprise Server 一起提供。

(通常)只参照同等版本的 Message Queue 代理对作为 Enterprise Server 一部分提供的嵌入式 Sun GlassFish Message Queue 代码进行测试和认证。这意味着,不支持使用所提供的嵌入式 Message Queue 代码来连接到运行其他版本的 Message Queue 代码的远程(不是由 Enterprise Server 管理)Message Queue 代理。

用于负载平衡插件的 Web 服务器

本节列出了 Sun GlassFish Enterprise Server 负载平衡插件所支持的 Web 服务器。

表 2–3 支持的 Web Server

Web 服务器 

版本 

操作系统 [仅支持 32 位平台。]

Sun Java System Web 服务器(32 位) 

6.1, 7.0 

Solaris SPARC 9, 10  

Solaris x86 9, 10

Red Hat Enterprise Linux 3, 4, 5 

Apache Web 服务器(32 位) 

2.0.x, 2.2.x 

Solaris SPARC 9, 10 

Solaris x86 10

Red Hat Enterprise Linux 3, 4, 5 

Microsoft IIS(32 位) 

5.0+、6 

Windows Server 2003 

浏览器

本节列出了 Sun GlassFish Enterprise Server v2.1.1 所支持的浏览器。

表 2–4 支持的 Web 浏览器

浏览器 

版本 

Mozilla 

1.7.12 

Internet Explorer 

6.0 Service Pack 2, 7.0 

Firefox 

2.x、3.x 

Safari 

3.x、4.x 

Netscape 

8.0.4, 8.1, 9.0, 9.0.x

HADB 要求和支持的平台

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


注 –

HADB 仅与 Enterprise Server v2.1.1 Enterprise 配置文件进行捆绑。另请注意,系统的 Java 组件已在 JDK 5 和 JDK 6 上构建和测试。


支持的平台

HADB 服务器主机要求


注 –

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


HADB 管理主机要求

HADB 客户机主机要求

升级 Enterprise Server

有关从 Enterprise Server 的上一版本升级到当前版本的完整说明,请参阅 《Sun GlassFish Enterprise Server v2.1.1 Upgrade Guide》

其他要求

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

Java EE 5 平台 API

Sun GlassFish Enterprise Server v2.1.1 支持 Java EE 5 平台。下表列出了 Java EE 5 平台上可用的增强 API。

表 2–5 Java EE 5 平台上的主要 API 更改

API 

JSR 

Java EE 5

Java Platform, Enterprise Edition 5

JSR 244

Web 服务技术

Implementing Enterprise Web Services 

JSR 109

Java API for XML-Based Web Services (JAX-WS) 2.0

JSR 224

Java API for XML-Based RPC (JAX-RPC) 1.1

JSR 101

Java Architecture for XML Binding (JAXB) 2.0

JSR 222

SOAP with Attachments API for Java (SAAJ)

JSR 67

Streaming API for XML

JSR 173

Web Service Metadata for the Java Platform 

JSR 181

组件模型技术

Enterprise JavaBeans 3.0

JSR 220

J2EE Connector Architecture 1.5

JSR 112

Java Servlet 2.5

JSR 154

JavaServer Faces 1.2

JSR 252

JavaServer Pages 2.1

JSR 245

JavaServer Pages Standard Tag Library 1.2

JSR 52

管理技术

J2EE 管理

JSR 77

J2EE 应用程序部署

JSR 88

Java Authorization Contract for Containers

JSR 115

其他 Java EE 技术

Common Annotations for the Java Platform 

JSR 250

Java Transaction API (JTA)

JSR 907

JavaBeans Activation Framework (JAF) 1.1

JSR 925

JavaMail

JSR 919

Java Message Service API

JSR 914

Java Persistence API

JSR 220

Java EE 5 SDK

Sun GlassFish Enterprise Server v2.1.1 是作为 Java EE 5 SDK 的一部分提供的。

有两个 Java EE 5 SDK 版本:

此外,您可以随 JDK 一起下载这些 SDK 分发。有关更多信息,请访问下载页面,网址是 http://java.sun.com/javaee/downloads/index.jsp

切换到支持的另一 Java 版本

Sun GlassFish Enterprise Server v2.1.1 要求使用 Java SE 5.0 或更高版本作为基础 JVM。如果要从一个 Java 版本切换到另一版本,请执行以下常规步骤。(Windows 和 Unix)


注 –

使用较新的 Java VM 创建了域之后,建议不要降级到较早的 Java 版本。如果必须降级 JVM,建议在每个域上都执行此操作。以下过程说明了如何执行此操作。


Procedure切换到支持的另一 Java 版本

  1. 下载所需的 Java SDK(而非 JRE)并将其安装在系统上(如果尚未这样做)。

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

  2. 启动要更改其 JDK 的域:


    as-install/bin/asadmin start-domain domain-name
    
  3. 登录到管理控制台并更改域的 JVM 属性。

    特别是,可能需要在“JVM 设置”页上更改域的 JAVA_HOME 变量。

    或者,可以使用 asadmin 命令:


    as-install/bin/asadmin set "server.java-config.java-home=Path-To-Java-Home"

已知的 Java ES 5 兼容性问题

在 Enterprise Server v2.1.1 和 Java ES 5 (JES5) 之间,存在两个已知的兼容性问题。

  1. 由于 Enterprise Server v2.1.1 提供的 JSF 1.2 版本,JES5 Service Registry 与 Enterprise Server v2.1.1 不兼容。需要先将 Service Registry 升级到 JES5u1,然后再将 Enterprise Server 升级到 2.1.1。此限制也记录在 Service Registry 文档中。

  2. 由于 Enterprise Server v2.1.1 提供的 JSF 1.2 版本,JES5 Portal Server 与 Enterprise Server v2.1.1 不兼容。需要先将 Portal Server 升级到 JES5u1,然后再升级到 v2.1.1。

    在 Portal Server 位于 Enterprise Server 8.2 上的 Java ES 5 设置中,将 Enterprise Server 8.2 升级到 v2.1.1 会使 Portal Server 不可用。Enterprise Server v2.1.1 使用 JSF 1.2,但 Portal Server 发行版 5 中的 JSF-Portlet 桥不支持 JSF 1.2。在 Solaris/Linux 上,需要将 Portal Server 升级到 Java ES 5 Update 1。在 Windows 上,如果想要继续使用 Portal Server 发行版 5,请不要将 Enterprise Server 升级到 v2.1.1,因为 Windows 上的 Java ES 5 Update 1 不支持 Portal Server。

Web Stack 支持

您可将 Enterprise Server 与 Sun GlassFish Web Stack 结合使用,后者预集成和捆绑了 Apache HTTP Server、PHP、Ruby 等组件。有关 Sun GlassFish Web Stack 的更多信息,请参见 http://www.sun.com/software/webstack/index.xml

通过使用以 Sun Java System Web Server、Apache Web Server 和 Microsoft IIS 作为前端的负载平衡器插件,Enterprise Server 提供了负载平衡支持。为 Enterprise Server 提供前端的另一种技术是使用 Apache httpd 和 mod_jk 连接器。

Procedure使用 Apache httpd 和 mod_jk 作为 Enterprise Server 前端

  1. 创建 Enterprise Server 群集。

  2. 按以下方式定义下列 JVM 选项:

    • asadmin create-jvm-options --target 群集名称 "-DjvmRoute=\${AJP_INSTANCE_NAME

    • asadmin create-jvm-options --target 群集名称 "-Dcom.sun.enterprise.web.connector.enableJK=\${AJP_PORT}

  3. 使用以下命令,为群集中的每个实例配置 JVM 选项 AJP_PORTAJP_INSTANCE_NAME

    asadmin create-system-properties --target 实例名称 AJP_INSTANCE_NAME=实例名称

    asadmin create-system-properties --target 实例名称 AJP_PORT=端口号

  4. 重新启动群集

  5. 安装 Apache httpd。

    Apache httpd 可从 http://httpd.apache.org/download.cgi 获取

  6. 安装 mod_jk。

    mod_jk 连接器可从 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 获取

  7. 将以下行添加到 mof_jk.so 文件中:


    LoadModule jk_module path_to_mod_jk.so
    JkWorkersFile /etc/apache2/worker.properties
    # Where to put jk logs
    JkLogFile /var/log/httpd/mod_jk.log
    # Set the jk log level [debug/error/info]
    JkLogLevel debug
    # Select the log format
    JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
    # JkRequestLogFormat set the request format
    JkRequestLogFormat "%w %V %T"
    # Send all jsp requests to GlassFish
    JkMount /*.jsp loadbalancer.
  8. 创建新文件 /etc/apache2/worker.properties,并添加以下行:


    # Define 1 real worker using ajp13
    worker.list=loadbalancer
    # Set properties for instance1
    worker.instance1.type=ajp13
    worker.instance1.host=localhost
    worker.instance1.port=9090
    worker.instance1.lbfactor=50
    worker.instance1.cachesize=10
    worker.instance1.cache_timeout=600
    worker.instance1.socket_keepalive=1
    worker.instance1.socket_timeout=300
    # Set properties for instance2
    worker.instance2.type=ajp13
    worker.instance2.host=localhost
    worker.instance2.port=9091
    worker.instance2.lbfactor=50
    worker.instance2.cachesize=10
    worker.instance2.cache_timeout=600
    worker.instance2.socket_keepalive=1
    worker.instance2.socket_timeout=300
    # Set properties for instance3
    worker.instance3.type=ajp13
    worker.instance3.host=localhost
    worker.instance3.port=9092
    worker.instance3.lbfactor=50
    worker.instance3.cachesize=10
    worker.instance3.cache_timeout=600
    worker.instance3.socket_keepalive=1
    worker.instance3.socket_timeout=300
    
    worker.loadbalancer.type=lb
    worker.loadbalancer.balance_workers=instance1,instance2,instance3
  9. 将 Apache 5.5.x 安装中的 tomcat-ajp.jar 文件复制到 Enterprise Server lib 目录。

  10. 从 Jakarta Commons 网站复制 commons-logging.jar(版本 1.1.1)和 commons-modeler.jar(版本 2.0.1)文件,该网站地址为 http://commons.apache.org

  11. 重新启动群集并启动 httpd

并非所有操作系统都支持的功能

对于 Enterprise Server 的某些功能,不是所有操作系统都支持。下面的各节提供了有关这些功能的详细信息。

AIX 操作系统不支持的功能

如果您使用的是 AIX 操作系统,则以下限制适用:

Linux 操作系统不支持的功能

如果您使用的是 Linux 操作系统,则以下限制适用:

Ubuntu 操作系统不支持的功能

如果您使用的是 Ubuntu Linux 操作系统,则以下限制适用:

Sun GlassFish Enterprise Manager

Sun GlassFish Enterprise Manager 提供了生产性 Sun GlassFish Enterprise Server v2.1.1 部署经过改进的管理和性能可见性。它还使 IT 能够缩短部署时间,优化性能并排除性能故障,在潜在问题发生之前加以解决。有关更多详细信息,请参见 http://www.sun.com/software/products/appsrvr/ent_manager.jsp

使用更新中心

更新中心提供自动的 Enterprise Server 更新,使用户可以轻松访问其他组件。

更新中心启用后,便会执行自动软件更新。在此自动更新过程中,更新中心将收集以下数据并将其传送给 Sun Microsystems(或其服务提供者):

将不会跟踪个人识别信息。也不会将个人识别信息与其他任何数据关联,或用于生成报告。

Procedure使用更新中心

为确保明确同意使用自动更新,默认情况下禁用更新中心。要启用更新中心以执行定期检查和自动更新,请执行以下操作:

  1. 启动更新中心。

    • 在 Unix 上:<installdir>/updatecenter/bin/updatetool

    • 在 Windows 上:<installdir>\updatecenter\bin\updatetool.bat

  2. 选择“首选项”选项卡。

  3. 在“更新计划”窗口中,将“检查更新”下拉框的值从“从不(手动)”更改为所需的值。例如,每天或每周。

  4. 指定需要在每周的哪天以及每天的什么时间进行更新。

  5. 选择“保存”按钮以保存更改。

    更新中心现在将根据指定的计划,自动检查 Enterprise Server 组件的更新。当更新可用时,更新中心将启动,并通知您可进行更新的组件。

在 Ubuntu 操作系统上升级 Enterprise Server

在 Ubuntu Linux 操作系统上,安装 GlassFish v2 不会覆盖现有的 GlassFish v1 安装。/usr/bin 中的 asadmin 脚本可用于管理 GlassFish v2。要管理 GlassFish v1, 请使用其本地 /usr/share/sunappserver/bin 中的 asadmin 实用程序。要将 v1 域升级到 v2, 请使用位于 /usr/share/glassfishv2/bin 中的 asupgrade 工具。

使用全局 asadmin 脚本启动 v1 域将自动调用该升级工具。不过,这会产生一个错误,该错误是由错误使用其他(非 Ubuntu)平台的服务器的默认域位置而造成的。要避免该错误,请使用 asupgrade 工具。

启用多级关系预取

CMP 2.1 实体 bean 支持多级关系预取。

要启用多级关系预取,请设置以下属性:


-Dcom.sun.jdo.spi.persistence.support.sqlstore.MULTILEVEL_PREFETCH=true

有关关系预取的更多信息,请参见 《Sun GlassFish Enterprise Server v2.1.1 Developer’s Guide 》中的“Relationship Prefetching”

有关 WSIT 集成的更多信息

有关 WSIT 状态的详细信息,请参阅 WSIT 状态注释页。有关将 WSIT 用于 Enterprise Server 的信息,另请参阅 《The WSIT Tutorial》