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,Enterprise Server 中的 Grizzly 也有所改良,能提供更快速且更可靠的實例容錯移轉。

透過 mod_jk 外掛程式支援 Apache 網頁伺服器:如需有關 Enterprise Server v2.1.1 如何支援 Apache 網頁伺服器的詳細資訊,請參閱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 IssueTrackerbugs.sun.com

Sun GlassFish Enterprise Server v2.1.1 與 Sun GlassFish Enterprise Server v2.1 Patch 06 為同等級,後者可從 SunSolve 取得。

Sun GlassFish Enterprise Server 功能

這些功能都加入了 Sun GlassFish Enterprise Server,包括下列功能:

硬體和軟體需求

本節列出安裝 Sun GlassFish Enterprise Server 之前必須滿足的需求。

支援的平台

下表列出與 Sun GlassFish Enterprise Serverv2.1.1 相容的作業系統。除非另行指定,所有支援的作業系統皆為 32 位元。僅 64 位元支援作業系統支援 64 位元 JDK。


備註 –

表中列出每個受支援的作業系統所需之最低版本。另外也支援所需最低版本的 Service Pack 更新。


表 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


系統虛擬支援

系統虛擬是一種可讓多重作業系統 (OS) 實例在共用硬體上各自獨立執行的技術。在功能上,部署到位於虛擬環境中作業系統的軟體,一般不會察覺其基礎平台已虛擬化。Sun 已在所選系統虛擬和作業系統組合上測試其 Sun Java System 產品,以協助驗證 Sun Java System 產品是否可以繼續在適當大小且已配置虛擬化的環境中運作,如同在非虛擬化系統上一般執行作業。

重要修補程式資訊

Solaris 修補程式需求

建議 Solaris 10 (x86、SPARC) 使用者安裝「Sun 建議的修補程式叢集」。您可以在 SunSolve 網站上的「建議與安全修補程式」下找到此修補程式叢集。

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 版本

所有作業系統 (Ubuntu Linux 除外) 上的 Enterprise Server 都隨附 Apache Ant 的 1.6.5 版。所有作業系統 (Ubuntu Linux 除外) 上的 Enterprise Server 都隨附 Apache Ant 的 1.7.0 版。

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 驅動程式。


類型 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 具有下列啟動與停止 Java DB Network Server 的 asadmin 指令。

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 封裝在一起。

Enterprise Server 隨附的內嵌 Sun GlassFish Message Queue 程式碼,一般而言僅會針對等效版本的 Message Queue 代理程式測試及認證。這表示目前不支援使用隨附的內嵌 Message Queue 程式碼,連線至執行不同版本 Message Queue 程式碼的遠端 (未由 Enterprise Server 管理) Message Queue 代理程式。

適用於負載平衡外掛程式的 Web 伺服器

本節列出 Sun GlassFish Enterprise Server 負載平衡外掛程式支援的 Web 伺服器。

表 2–3 支援的 Web 伺服器

Web 伺服器 

版本 

作業系統 [只支援 32 位元平台。]

Sun Java System Web Server (32 位元) 

6.1、7.0 

Solaris SPARC 9、10  

Solaris x86 9、10

Red Hat Enterprise Linux 3、4、5 

Apache Web Server (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 的需求。


備註 –

只有 Enterprise Server v2.1.1 企業設定檔隨附 HADB。另外請注意,系統的 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 服務技術

實作企業 Web 服務 

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

用於 Java 平台的 Web 服務中介資料 

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 Management

JSR 77

J2EE Application Deployment

JSR 88

Java Authorization Contract for Containers

JSR 115

其他 Java EE 技術

Java 平台的共用附註 

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

Java EE 5 SDK 隨附 Sun GlassFish Enterprise Server v2.1.1。

有兩個 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. JES5 Service Registry 與 Enterprise Server v2.1.1 不相容是由於 Enterprise Server v2.1.1 提供 JSF 1.2 版。在將 Enterprise Server 升級到 2.1.1 之前,需要先將 Service Registry 升級到 JES5u1。Service Registry 文件中也說明了此限制。

  2. JES5 Portal Server 與 Enterprise Server v2.1.1 不相容是由於 Enterprise Server v2.1.1 提供 JSF 1.2 版。在升級到 v2.1.1 之前,需要先將 Portal Server 升級到 JES5u1。

    如果 Java ES 5 的設定是將 Portal Server 安裝在 Enterprise Server 8.2 中,則將 Enterprise Server 8.2 升級到 v2.1.1 時會導致無法使用 Portal Server。Enterprise Server v2.1.1 使用 JSF 1.2,但 Release 5 Portal Server 中的 JSF-Portlet 橋接器不支援 JSF 1.2。在 Solaris/Linux 上,需要將 Portal Server 升級到 JavaES5 Update 1。在 Windows 上,如果您要繼續使用 Release 5 Portal Server,請勿將 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

Enterprise Server 使用 Sun Java System Web Server、Apache Web Server 和 Microsoft IIS 的前端負載平衡器外掛程式,以支援負載平衡功能。使 Enterprise Server 成為前端的另一項技術是使用 Apache httpd 配合 mod_jk 連接器。

Procedure使用 Apache httpd 和 mod_jk 讓 Enterprise Server 成為前端

  1. 建立 Enterprise Server 叢集。

  2. 定義下列 JVM 選項,如下所示:

    • asadmin create-jvm-options --target cluster_name "-DjvmRoute=\${AJP_INSTANCE_NAME

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

  3. 使用下列指令為叢集中的每個實例配置 JVM 選項 AJP_PORTAJP_INSTANCE_NAME

    asadmin create-system-properties --target instance_name AJP_INSTANCE_NAME=instance_name

    asadmin create-system-properties --target instance_name AJP_PORT=port-number

  4. 重新啟動叢集

  5. 安裝 Apache httpd。

    您可以從 http://httpd.apache.org/download.cgi取得 Apache httpd

  6. 安裝 mod_jk。

    您可以從 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/取得 mod_jk 連接器

  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,請使用其本機 asadmin 公用程式,位於 /usr/share/sunappserver/bin 中。若要將 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 狀態說明」頁。另請參閱「The WSIT Tutorial 」,以取得有關將 WSIT 與 Enterprise Server 配合使用所需的資訊。