在此發行版本中,管理主控台 中沒有用於 Web 容器的容器範圍的設定。
本小節說明 Web 容器中的 HTTP 階段作業設定。HTTP 階段作業是唯一將狀態資料寫入持續性儲存的 Web 階段作業。
階段作業管理員提供配置建立和銷毀階段作業的方式、儲存階段作業狀態的位置以及最大階段作業數的方法。
若要變更階段作業管理員設定,請執行以下步驟:
在樹形元件中,選取 [配置] 節點。
選取要配置的實例:
選取 [Web 容器] 節點。
按一下 [管理員特性] 標籤。
設定 [清除間隔] 的值。
設定 [最大階段作業數] 的值。
[最大階段作業數] 欄位是允許的最大階段作業數目。
[階段作業檔案名稱] 欄位是包含階段作業資料的檔案。
[階段作業 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 類別路徑中。
按一下 [儲存]。
本小節描述以下適用於伺服器上所有企業 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 池。
在樹形元件中,選取 [配置] 節點。
選取要配置的實例:
選取 [EJB 容器] 節點。
在 [池設定] 下的 [池的初始大小和最小大小] 欄位中,輸入容器在池中建立的 Bean 的最小數目。
在 [池的最大大小] 欄位中,輸入任何時候容器在池中維護的 Bean 的最大數目。
在 [池設定大小數量] 欄位中輸入 Bean 的數目,此數目是當 Bean 處於閒置狀態的時間超過 [池閒置逾時] 中指定的時間時,要從池中移除的 Bean 的數目。
在 [池閒置逾時] 欄位中輸入在將池中的 Bean 從池中移除之前 Bean 可以保持閒置狀態的時間 (以秒為單位)。
按一下 [儲存]。
重新啟動 Application Server。
容器維護最常用企業 Bean 的企業 Bean 資料快取。這樣,容器可以更快回應來自其他應用程式模組的企業 Bean 資料請求。本小節只適用於有狀態階段作業 Bean 和實體 Bean。
被快取的企業 Bean 處於以下三種狀態之一:使用中、閒置或鈍化。使用中企業 Bean 是目前正被用戶端存取的企業 Bean。閒置企業 Bean 的資料目前儲存在快取中,但無用戶端存取 Bean。鈍化 Bean 的資料是暫時儲存的,如果用戶端請求此 Bean,則會將其資料讀回快取中。
在樹形元件中,選取 [配置] 節點。
選取要配置的實例:
選取 [EJB 容器] 節點。
在 [最大快取大小] 欄位中調整最大快取大小。
增加要快取的 Bean 的最大數目,以結束建立和損毀 Bean 的系統耗用。但是,如果增加快取,伺服器將消耗更多記憶體和資源。請確定作業環境足夠用於快取設定。
在 [快取設定大小數量] 欄位中調整快取設定大小數量。
達到快取的 Bean 的最大數目之後,容器將從備份儲存中移除一些鈍化 Bean,預設設定為 32。
在 [快取閒置逾時] 欄位中,調整為實體 Bean 排程的快取清除速率 (以秒為單位)。
如果快取的實體 Bean 在特定時間內一直處於閒置狀態,它將被鈍化。亦即,將 Bean 的狀態寫入備份儲存。
在 [移除逾時] 欄位中,調整將有狀態階段作業 Bean 從快取或鈍化儲存中移除之前的時間 (以秒為單位)。
在 [移除選取策略] 欄位中,配置容器用來移除有狀態階段作業 Bean 的策略。
容器將根據在 [移除選取策略] 欄位中設定的策略決定移除哪個有狀態階段作業 Bean。容器可使用三種可能的策略從快取中移除 Bean:
最近未使用 (NRU)
先入先出 (FIFO)
最近最少使用 (LRU)
NRU 策略可移除最近未使用的 Bean。FIFO 策略移除快取中最早的 Bean。LRU 策略移除最近最少存取的 Bean。依預設,容器使用 NRU 策略。
通常使用 FIFO 策略移除實體 Bean。
按一下 [儲存]。
重新啟動 Application Server。
訊息導引 Bean 的池與配置 EJB 池設定中說明的階段作業 Bean 的池類似。依預設,容器維護訊息導引 Bean 的池。
若要調整該池的配置,請執行以下步驟:
在樹形元件中,選取 [配置] 節點。
選取要配置的實例:
選取 [EJB 容器] 節點。
按一下 [MDB 設定] 標籤。
在 [池設定] 下的 [初始和最小池大小] 欄位中,輸入容器在池中建立的訊息 Bean 的最小數目。
在 [最大池大小] 欄位中,輸入任何時候容器在池中維護的 Bean 的最大數目。
請在 [池設定大小數量] 欄位中輸入 Bean 的數目,此數目是當 Bean 處於閒置狀態的時間超過 [池閒置逾時] 中指定的時間時,要從池中移除的 Bean 的數目。
在 [池閒置逾時] 欄位中輸入在將池中的 Bean 從池中移除之前 Bean 可以保持閒置狀態的時間 (以秒為單位)。
按一下 [儲存]。
重新啟動 Application Server。
計時器服務是由企業 Bean 容器提供的用於排程企業 Bean 使用的通知或事件的持續性和作業事件通知服務。所有企業 Bean (有狀態階段作業 Bean 除外) 均可從計時器服務接收通知。關閉或重新啟動伺服器時,不會銷毀服務設定的計時器。
在樹形元件中,選取 [配置] 節點。
選取要配置的實例:
選取 [EJB 容器] 節點。
按一下 [EJB 計時器服務] 標籤。
在 [最小傳送間隔] 欄位中設定最小傳送間隔時間 (以毫秒為單位)。
最小傳送間隔是特定計時器的下一個計時器到期之前允許的最小毫秒數。如果此間隔時間設定得過小,可能會導致伺服器超載。
在 [最大重新傳送次數] 欄位中,設定計時器服務嘗試傳送通知的最大次數。
在 [重新傳送間隔] 欄位中,設定兩次重新傳送嘗試之間的間隔時間 (以毫秒為單位)。
按一下 [儲存]。
重新啟動 Application Server。
依預設,計時器服務使用內嵌式資料庫儲存計時器。
請依循建立 JDBC 資源中的說明,為資料庫設定 JDBC 資源。
按一下 [儲存]。
重新啟動 Application Server。
在 install-dir/lib/install/databases/ 中提供了 PointBase 和 Oracle 的計時器資料庫建立檔案範例。