Sun logo      上一個      目錄      下一個     

Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1

第 13 章
J2EE 容器

本章說明如何配置伺服器中包含的 J2EE 容器。它包含以下小節:


關於 J2EE 容器

本小節介紹 Application Server 中包含的 J2EE 容器。

J2EE 容器的類型

J2EE 容器為 J2EE 應用程式元件提供執行階段支援。J2EE 應用程式元件使用容器的協定和方法存取伺服器提供的其他應用程式元件和服務。Application Server 提供應用程式用戶端容器、applet 容器、Web 容器和 EJB 容器。如需有關顯示容器的圖解,請參閱「Application Server 架構」小節。

Web 容器

Web 容器是容納 Web 應用程式的 J2EE 容器。Web 容器透過為開發者提供執行 Servlet 和 JavaServer Page (JSP) 的環境,延伸了 Web 伺服器的功能。

EJB 容器

企業 Bean (EJB 元件) 是包含商務邏輯的 Java 程式設計語言伺服器元件。EJB 容器提供對企業 Bean 的本機和遠端存取。

企業 Bean 分為三種類型:階段作業 Bean、實體 Bean 和訊息導引 Bean。階段作業 Bean 表示暫態物件和程序,並且通常由單一用戶端使用。實體 Bean 表示持續性資料,通常維護在資料庫中。訊息導引 Bean 用於將訊息非同步傳送到應用程式模組和服務中。

容器負責建立企業 Bean、將企業 Bean 連結至命名服務以使其他應用程式元件可以存取企業 Bean、確定僅授權的用戶端才能存取企業 Bean 的方法、將 Bean 的狀態儲存到持續性儲存中、快取 Bean 的狀態以及在必要時啟動或鈍化 Bean。


有關 J2EE 容器的管理主控台作業

配置一般 Web 容器設定

在此發行版本中,管理主控台中沒有用於 Web 容器的容器範圍的設定。

配置 Web 容器階段作業

本小節描述 Web 容器中的 HTTP 階段作業設定。HTTP 階段作業是唯一將狀態資料寫入持續性儲存的 Web 階段作業。

若要設定階段作業逾時值,請執行以下步驟:

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [Web 容器] 節點。
  4. 按一下 [階段作業特性] 標籤。
  5. 在 [階段作業逾時] 欄位中,輸入階段作業有效的秒數。
  6. 按一下 [儲存]。

配置管理員特性

階段作業管理程式提供配置如何建立和銷毀階段作業、儲存階段作業狀態的位置以及最大階段作業數的方法。

若要變更階段作業管理員設定,請執行以下步驟:

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [Web 容器] 節點。
  4. 按一下 [管理員特性] 標籤。
  5. 設定 [清除間隔] 的值。
  6. [清除間隔] 欄位是從儲存中刪除非作用中的階段作業資料之前的秒數。

  7. 設定 [最大階段作業數] 的值。
  8. [最大階段作業數] 欄位是允許的最大階段作業數目。

  9. 設定 [階段作業檔案名稱] 的值。
  10. [階段作業檔案名稱] 欄位是包含階段作業資料的檔案。

  11. 設定 [階段作業 ID 產生器類別名稱] 的值。
  12. [階段作業 ID 產生器類別名稱] 欄位使您可以指定用於產生唯一的階段作業 ID 的自訂類別。每個伺服器實例只允許有一個階段作業 ID 產生器類別,並且叢集中的所有實例必須使用同一階段作業 ID 產生器,以防止階段作業金鑰衝突。

    自訂階段作業 ID 產生器類別必須執行 com.sun.enterprise.util.uuid.UuidGenerator 介面:

    package com.sun.enterprise.util.uuid;

    public interface UuidGenerator {

    public String generateUuid();

    public String generateUuid(Object obj); //obj is the session object

    }

    類別必須位於 Application Server 類別路徑中。

  13. 按一下 [儲存]。

配置儲存特性

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [Web 容器] 節點。
  4. 按一下 [儲存特性] 標籤。
  5. 設定 [清除間隔]。
  6. [清除間隔] 欄位是從儲存中刪除非作用中的階段作業資料之前的秒數。

  7. 按一下 [儲存]。

配置一般 EJB 設定

本小節描述以下適用於伺服器上所有企業 Bean 容器的設定:

若要置換每個容器的預設值,請調整企業 Bean 的 sun-ejb-jar.xml 檔案中的值。如需詳細資訊,請參閱「Application Server Developer's Guide」。(有關指向此指南的連結,請參閱「更多資訊」。)

階段作業儲存位置

[階段作業儲存位置] 欄位指定在檔案系統上儲存鈍化 Bean 和持續的 HTTP 階段作業所在的目錄。

鈍化 Bean 是已將其狀態寫入到檔案系統上的檔案中的企業 Bean。通常,鈍化 Bean 已經閒置了某特定時間段的時間並且目前未被用戶端存取。

與鈍化 Bean 類似,持續的 HTTP 階段作業是已將其狀態寫入到檔案系統上的檔案中的各個 Web 階段作業。

[確定選項] 欄位用於指定容器如何快取作業事件之間的鈍化實體 Bean 實例。

[選項 B] 用於快取作業事件之間的實體 Bean 實例,並且是預設選項。[選項 C] 用於停用快取。

池設定

容器維護了一個企業 Bean 池,以便在不建立 Bean 來實現效能的情況下回應用戶端請求。這些設定僅適用於無狀態階段作業 Bean 和實體 Bean。

如果在使用已部署的企業 Bean 的應用程式中遇到效能問題,建立池或增加現有池維護的 Bean 的數目有助於提高應用程式的效能。

依預設,容器維護企業 Bean 池。

若要調整容器的企業 Bean 池的配置,請執行以下步驟:

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [EJB 容器] 節點。
  4. 在 [池設定] 下的 [池的初始大小和最小大小] 欄位中,輸入容器在池中建立的 Bean 的最小數目。
  5. 在 [池的最大大小] 欄位中,輸入任何時候容器在池中維護的 Bean 的最大數目。
  6. 如果 Bean 處於閒置狀態的時間超過 [池閒置逾時] 中指定的時間,在 [池設定大小數量] 欄位中輸入要從池中移除的 Bean 的數目。
  7. 在 [池閒置逾時] 欄位中輸入在將池中的 Bean 從池中移除之前 Bean 可以保持閒置狀態的時間 (以秒為單位)。
  8. 按一下 [儲存]。
  9. 重新啟動 Application Server。

快取設定

容器維護最常用企業 Bean 的企業 Bean 資料快取。這樣,容器可以更快回應來自其他應用程式模組的企業 Bean 資料請求。本小節只適用於有狀態階段作業 Bean 和實體 Bean。

被快取的企業 Bean 處於以下三種狀態之一:使用中、閒置或鈍化。使用中企業 Bean 是目前正被用戶端存取的企業 Bean。閒置企業 Bean 的資料目前保存在快取中,但沒有用戶端存取 Bean。鈍化 Bean 的資料是被暫時儲存的,如果用戶端請求此 Bean,其資料將被讀回快取中。

若要調整被快取的企業 Bean 的設定,請執行以下步驟:

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [EJB 容器] 節點。
  4. 在 [最大快取大小] 欄位中調整最大快取大小。
  5. 增加要快取的 Bean 的最大數目,以結束建立和損毀 Bean 的系統耗用。但是,如果增加快取,伺服器將消耗更多記憶體和資源。請確定作業環境足夠用於快取設定。

  6. 在 [快取設定大小數量] 欄位中調整快取設定大小數量。
  7. 達到快取的 Bean 的最大數目之後,容器將從備份儲存中移除一些鈍化 Bean,預設設定為 32。

  8. 在 [快取閒置逾時] 欄位中,調整為實體 Bean 排程的快取清除速率 (以秒為單位)。
  9. 如果快取的實體 Bean 在特定時間內一直處於閒置狀態,它將被鈍化。即將 Bean 的狀態寫入備份儲存。

  10. 在 [移除逾時] 欄位中,調整將有狀態階段作業 Bean 從快取或鈍化儲存中移除之前的時間 (以秒為單位)。
  11. 在 [移除選取策略] 欄位中,配置容器用來移除有狀態階段作業 Bean 的策略。
  12. 容器將根據在 [移除選取策略] 欄位中設定的策略決定移除哪個有狀態階段作業 Bean。容器可使用三種可能的策略從快取中移除 Bean:

    • 最近未使用 (NRU)
    • 先入先出 (FIFO)
    • 最近最少使用 (LRU)
    • NRU 策略移除最近未使用的 Bean。FIFO 策略移除快取中最早的 Bean。LRU 策略移除最近最少存取的 Bean。依預設,容器使用 NRU 策略。

      通常使用 FIFO 策略移除實體 Bean。

  13. 按一下 [儲存]。
  14. 重新啟動 Application Server。

配置訊息導引 Bean 設定

訊息導引 Bean 的池與「配置一般 EJB 設定」中介紹的階段作業 Bean 的池類似。

依預設,容器維護訊息 Bean 池。

若要調整該池的配置,請執行以下步驟:

  1. 在樹形元件中,選擇 [配置] 節點。
  2. 選擇要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [EJB 容器] 節點。
  4. 按一下 [MDB 設定] 標籤。
  5. 在 [池設定] 下的 [初始和最小池大小] 欄位中,輸入容器在池中建立的訊息 Bean 的最小數目。
  6. 在 [最大池大小] 欄位中,輸入任何時候容器在池中維護的 Bean 的最大數目。
  7. 如果 Bean 處於閒置狀態的時間超過 [池閒置逾時] 中指定的時間,在 [池設定大小數量] 欄位中輸入要從池中移除的 Bean 的數目。
  8. 在 [池閒置逾時] 欄位中輸入在將池中的 Bean 從池中移除之前 Bean 可以保持閒置狀態的時間 (以秒為單位)。
  9. 按一下 [儲存]。
  10. 重新啟動 Application Server。

配置 EJB 計時器服務設定

計時器服務是由企業 Bean 容器提供的用於排程企業 Bean 使用的通知或事件的持續性和作業事件通知服務。所有企業 Bean (有狀態階段作業 Bean 除外) 均可從計時器服務接收通知。關閉或重新啟動伺服器時,服務設定的計時器不會被銷毀。

配置計時器服務

  1. 在樹形元件中,選取 [配置] 節點。
  2. 選取要配置的實例:
    1. 若要配置特定的實例,請選取該實例的配置節點。例如,對於預設實例 server,請選取 server-config 節點。
    2. 若要配置所有實例的預設設定,請選取 default-config 節點。
  3. 選取 [EJB 容器] 節點。
  4. 按一下 [EJB 計時器服務] 標籤。
  5. 在 [最小傳送間隔] 欄位中設定最小傳送間隔時間 (以毫秒為單位)。最小傳送間隔是特定計時器的下一個計時器到期之前允許的最小毫秒數。如果此間隔時間設定得過小,可能會導致伺服器超載。
  6. 在 [最大重新傳送次數] 欄位中,設定計時器服務嘗試傳送通知的最大次數。
  7. 在 [重新傳送間隔] 欄位中,設定兩次重新傳送嘗試之間的間隔時間 (以毫秒為單位)。
  8. 按一下 [儲存]。
  9. 重新啟動 Application Server。

將外部資料庫與計時器服務一起使用

依預設,計時器服務使用內嵌式資料庫儲存計時器。

若要使用外部資料庫儲存計時器,請執行以下步驟:

  1. 按照「建立 JDBC 資源」中所述為資料庫設定 JDBC 資源。
  2. 在 [計時器資料源] 欄位中輸入資源的 JNDI 名稱。
  3. 按一下 [儲存]。
  4. 重新啟動 Application Server。

<INSTALL_DIR>/lib/install/databases/ 中提供了 PointBase 和 Oracle 的計時器資料庫建立檔案範例。



上一個      目錄      下一個     


Copyright 2004 - 2005 Sun Microsystems, Inc. 版權所有。