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

關於部署

部署生命週期

安裝 Application Server 並啟動網域之後,即可部署 (安裝) J2EE 應用程式和模組。在部署期間和變更應用程式時,應用程式或模組可能會經過以下階段:

  1. 初始部署

    部署應用程式或模組之前,請啟動網域。

    將應用程式或模組部署 (安裝) 到特定的獨立伺服器實例或叢集。由於應用程式和模組封裝在歸檔檔案中,因此在部署期間應指定歸檔檔案名稱。預設為部署到預設伺服器實例 server

    如果部署到伺服器實例或叢集,則應用程式或模組將存在於網域的中央儲存庫中,並由部署到的所有叢集或伺服器實例做為目標參照。

    您還可以使用 asadmin deploy 指令 (而非 管理主控台) 部署到網域。如果將應用程式或模組僅部署到網域,則應用程式或模組將存在於網域的中央儲存庫中,但要在增加參照之後才會有伺服器實例或叢集參照該應用程式或模組 (如部署生命週期中所述)。

    部署是動態的:部署應用程式或模組後,無需重新啟動伺服器實例即可使用應用程式。如果重新啟動了伺服器實例,所有已部署的應用程式和模組仍將處於部署狀態並且可用。

  2. 啟用或停用

    依預設,將啟用已部署的應用程式或模組,這表示如果應用程式或模組已部署到可存取的伺服器實例或叢集,則可以執行該應用程式或模組並且可由用戶端對其進行存取。若要防止存取,請停用應用程式或模組。在部署之後,已停用的應用程式或模組並未從網域中解除安裝,而且可以輕鬆地將其啟用。

  3. 新增或刪除已部署應用程式或模組的目標

    部署後,應用程式或模組將存在於中央儲存庫中,並可由多個伺服器實例和/或叢集參照。最初,做為目標部署到的伺服器實例或叢集將參考應用程式或模組。

    在部署應用程式或模組之後,若要變更參照應用程式或模組的伺服器實例和叢集,請使用 管理主控台 變更應用程式或模組的目標,或使用 asadmin 工具變更應用程式參照。由於應用程式本身儲存在中央儲存庫中,因此新增或刪除目標將新增或刪除不同目標上同一版本的應用程式。但是,可以在一個目標上啟用而在另一個目標上停用部署到多個目標的應用程式,因此即使應用程式被一個目標參考,也只有在該目標上啟用它時使用者才能對其進行使用。

  4. 重新部署

    若要替代已部署的應用程式或模組,請將其重新部署。重新部署將自動取消部署之前已部署的應用程式或模組 ,並代之以新應用程式或模組。

    當透過 管理主控台 重新部署時,重新部署的應用程式或模組將部署到網域中,並且所有參照該應用程式或模組的獨立或叢集伺服器實例將自動接收新的版本 (如果已啟用動態重新配置)。如果使用 asadmin deploy 指令來重新部署,請將 domain 指定為目標。

    對於生產環境,請使用捲動升級 (升級應用程式而不中斷服務)。如需更多資訊,請參閱「關於滾動升級。」

  5. 取消部署

    若要解除安裝應用程式或模組,請取消部署應用程式或模組。

J2EE 歸檔檔案的類型

軟體供應商將應用程式或模組封裝在歸檔檔案中。若要部署應用程式或模組,請指定歸檔檔案名稱。歸檔檔案的內容和結構是按照 J2EE 平台的規格定義的。J2EE 歸檔檔案的類型有以下幾種:

軟體供應商可以將應用程式組譯為單一 EAR 檔案或多個獨立的 WAR 檔案、EJB JAR 檔案和應用程式用戶端 JAR 檔案。在管理工具中,用於所有類型檔案的部署頁面和指令都是類似的。

命名慣例

在給定網域中,已部署的應用程式名稱和模組名稱必須是專屬名稱。

在一個應用程式中,不同類型的模組可以具有相同的名稱。部署應用程式時,將使用 _jar_war_rar 後綴來命名儲存個別模組的目錄。一個應用程式內,類型相同的模組必須具有專屬名稱。此外,在一個應用程式內,資料庫綱目檔的名稱必須是專屬名稱。

建議將類似於 Java 套裝軟體的命名機制用於在 ejb-jar.xml 檔案的 <module-name> 部分中找到的模組檔案名稱、EAR 檔案名稱、模組名稱,以及在 ejb-jar.xml 檔案的 <ejb-name> 部分找到的 EJB 名稱。使用這種類似於套裝軟體的命名機制可以確保不會發生名稱衝突。該命名慣例的優勢不僅適用於 Application Server,也適用於其他 J2EE Application Server。

EJB 元件的 JNDI 查詢名稱也必須是專屬名稱。建立連續的命名慣例可能會非常有用。例如,將應用程式名稱和模組名稱附加到 EJB 名稱中是保證名稱為專屬名稱的方式。在這種情況下,mycompany.pkging.pkgingEJB.MyEJB 即為模組 pkgingEJB.jar 內 EJB 的 JNDI 名稱,該模組封裝於應用程式 pkging.ear 中。

請確定該套裝軟體和檔案的名稱不含有空格或作業系統不支援的非法字元。