安裝 Application Server 並啟動網域之後,即可部署 (安裝) J2EE 應用程式和模組。在部署期間和變更應用程式時,應用程式或模組可能會經過以下階段:
初始部署
部署應用程式或模組之前,請啟動網域。
將應用程式或模組部署 (安裝) 到特定的獨立伺服器實例或叢集。由於應用程式和模組封裝在歸檔檔案中,因此在部署期間應指定歸檔檔案名稱。預設為部署到預設伺服器實例 server。
如果部署到伺服器實例或叢集,則應用程式或模組將存在於網域的中央儲存庫中,並由部署到的所有叢集或伺服器實例做為目標參照。
您還可以使用 asadmin deploy 指令 (而非 管理主控台) 部署到網域。如果將應用程式或模組僅部署到網域,則應用程式或模組將存在於網域的中央儲存庫中,但要在增加參照之後才會有伺服器實例或叢集參照該應用程式或模組 (如部署生命週期中所述)。
部署是動態的:部署應用程式或模組後,無需重新啟動伺服器實例即可使用應用程式。如果重新啟動了伺服器實例,所有已部署的應用程式和模組仍將處於部署狀態並且可用。
啟用或停用
依預設,將啟用已部署的應用程式或模組,這表示如果應用程式或模組已部署到可存取的伺服器實例或叢集,則可以執行該應用程式或模組並且可由用戶端對其進行存取。若要防止存取,請停用應用程式或模組。在部署之後,已停用的應用程式或模組並未從網域中解除安裝,而且可以輕鬆地將其啟用。
新增或刪除已部署應用程式或模組的目標
部署後,應用程式或模組將存在於中央儲存庫中,並可由多個伺服器實例和/或叢集參照。最初,做為目標部署到的伺服器實例或叢集將參考應用程式或模組。
在部署應用程式或模組之後,若要變更參照應用程式或模組的伺服器實例和叢集,請使用 管理主控台 變更應用程式或模組的目標,或使用 asadmin 工具變更應用程式參照。由於應用程式本身儲存在中央儲存庫中,因此新增或刪除目標將新增或刪除不同目標上同一版本的應用程式。但是,可以在一個目標上啟用而在另一個目標上停用部署到多個目標的應用程式,因此即使應用程式被一個目標參考,也只有在該目標上啟用它時使用者才能對其進行使用。
重新部署
若要替代已部署的應用程式或模組,請將其重新部署。重新部署將自動取消部署之前已部署的應用程式或模組 ,並代之以新應用程式或模組。
當透過 管理主控台 重新部署時,重新部署的應用程式或模組將部署到網域中,並且所有參照該應用程式或模組的獨立或叢集伺服器實例將自動接收新的版本 (如果已啟用動態重新配置)。如果使用 asadmin deploy 指令來重新部署,請將 domain 指定為目標。
對於生產環境,請使用捲動升級 (升級應用程式而不中斷服務)。如需更多資訊,請參閱「關於滾動升級。」
取消部署
若要解除安裝應用程式或模組,請取消部署應用程式或模組。
軟體供應商將應用程式或模組封裝在歸檔檔案中。若要部署應用程式或模組,請指定歸檔檔案名稱。歸檔檔案的內容和結構是按照 J2EE 平台的規格定義的。J2EE 歸檔檔案的類型有以下幾種:
Web 應用程式歸檔 (WAR)︰WAR 檔案由 Servlet 和 JSP 等 Web 元件以及靜態 HTML 頁面、JAR 檔案、標籤檔案庫和公用程式類別組成。WAR 檔案名稱具有 .war 副檔名。
EJB JAR︰EJB JAR 檔案包含一個或多個企業 Bean (用於 EJB 技術的元件)。EJB JAR 檔案還包括企業 Bean 所需的任何公用程式類別。EJB JAR 檔案的名稱具有 .jar 副檔名。
J2EE 應用程式用戶端 JAR:該 JAR 檔案包含藉由 RMI/IIOP 存取伺服器端元件 (如企業 Bean) 的 J2EE 應用程式用戶端的程式碼。在 管理主控台 中,J2EE 應用程式用戶端被稱為「應用程式用戶端。」J2EE 應用程式用戶端 JAR 檔案的名稱具有 .jar 副檔名。
資源介面歸檔 (RAR)︰RAR 檔案存有資源介面。資源介面是按照 J2EE 連接器架構規格定義的,它是允許企業 Bean 和 Web 元件和應用程式用戶端存取資源和外部企業系統的可攜式元件。資源介面經常稱為連接器。RAR 檔案名稱具有 .rar 副檔名。
企業應用程式歸檔 (EAR)︰EAR 檔案存有一個或多個 WAR 檔案、EJB JAR 檔案、RAR 檔案或 J2EE 應用程式用戶端 JAR 檔案。EAR 檔案名稱具有 .ear 副檔名。
軟體供應商可以將應用程式組譯為單一 EAR 檔案或多個獨立的 WAR 檔案、EJB JAR 檔案和應用程式用戶端 JAR 檔案。在管理工具中,用於所有類型檔案的部署頁面和指令都是類似的。
在給定網域中,已部署的應用程式名稱和模組名稱必須是專屬名稱。
如果使用 管理主控台 進行部署,請在 [應用程式名稱] 欄位中指定名稱。
如果使用 asadmin deploy 指令進行部署,則應用程式或模組的預設名稱為要部署的 JAR 檔案的前綴。例如,如果部署 hello.war 檔案,則 Web 應用程式的名稱為 hello。若要置換預設名稱,請指定 --name 選項。
在一個應用程式中,不同類型的模組可以具有相同的名稱。部署應用程式時,將使用 _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 中。
請確定該套裝軟體和檔案的名稱不含有空格或作業系統不支援的非法字元。