在為何對 Java ES 使用區域?中重點探討了 Java ES 產品元件對區域的使用:可在 Java ES 安裝程式中明確選取並在各種區域中安裝和配置這些元件,以達成所希望的部署架構和運作功能。不過,產品元件所依賴的共用元件會對 Java ES 在多區域環境中的部署方式設下一些限制。Java ES 共用元件和區域涉及到兩個問題:
測試和支援大量 (約 30 個) 共用元件很困難而且在 Java ES 共用元件與 Java ES 產品元件之間有著複雜的互動,因而必須將單一作業系統實例內的所有共用元件同步為相同的 Java ES 版本。換言之,非區域環境中或是 Solaris 10 環境內任何單一區域中安裝的所有 Java ES 共用元件都必須具有相同的版本。這項需求會對如何在多區域環境中使用 Java ES 設下某些限制。
此同步需求具有下列蘊義:
不同版本的 Java ES 共用元件只能位於不同的區域。例如,您可以將 Java ES 發行版本 4 共用元件安裝在一個區域中,而將 Java ES 發行版本 5 共用元件安裝在另一個區域中,但是您不能將它們合併在同一個區域中。
如果升級了某區域中的任何共用元件,或是引入了任何較高版本的新共用元件,則該區域中的所有共用元件也都必須同時進行升級。(共用元件必須具有向後相容性,因此發行版本 4 產品元件與發行版本 5 共用元件搭配使用毫無問題。)例如,假定某個發行版本 5 產品元件安裝在一個或多個發行版本 4 產品元件所在的區域中。由於該發行版本 5 產品元件需要一定數量的發行版本 5 共用元件,因此同步需求便意味著必須在安裝該發行版本 5 產品元件的同時將所有位於該區域中的發行版本 4 共用元件都升級至發行版本 5。即使要安裝的發行版本 5 產品元件所需的不同共用元件來自區域中已安裝的共用元件,亦是如此。
在將共用元件安裝在全域區域中並從中傳遞出去時 (請參閱Java ES 傳遞策略),必須特別注意保持所有區域中共用元件的同步。否則,非全域區域中較早版本的共用元件便可能會和從全域區域傳遞過來的發行版本 5 共用元件混雜在一起。(特別注意通常意味著共用元件生命週期管理僅會在全域區域中進行。如需更多資訊,請參閱表 A–2 與共用元件特例。)
共用元件同步需求會對 Java ES 安裝程式在多區域環境中所限執行的動作加諸限制 (如需更多資訊,請參閱Java ES 安裝程式中的區域支援),而且還會影響 Java ES 產品元件在多區域環境中的安裝和升級程序。
對 Java ES 在多區域環境中的使用有影響的另一個問題是,由於稀疏根區域中的檔案系統是唯讀的,故而無法在稀疏根區域中安裝大量的共用元件。因此,基底目錄為 /usr (依預設由全域區域共用的目錄) 的共用元件必須安裝在全域區域中才能在稀疏根區域中使用。
無法在稀疏根區域中安裝多個 Java ES 共用元件意味著,若要將與這類共用元件有相依性的產品元件成功地安裝至稀疏根區域中,必須先將共用元件安裝在全域區域中,然後再將其傳遞至非全域區域。