WebSphere 變數

WebSphere 變數是名稱/值配對,用來提供配置產品所使用之任何字串資料類型屬性的設定。 定義變數之後,您即可在產品中接受字串值之任何其他配置欄位的欄位中,使用指定給該變數的符號名稱。

WebSphere 變數可以用來配置:
  • WebSphere® Application Server 路徑名稱,例如 JAVA_HOMEAPP_INSTALL_ROOT
  • extendedDocumentRoot JSP 或檔案提供屬性的路徑值。 這項功能可讓您將應用程式加入叢集環境中的每一個節點,而不需要在每一個節點上修改該應用程式的 ibm-web-ext.xmi 檔。
    支援的配置: 對於 IBM® 延伸和連結檔, 根據您是使用Java™ EE 5 之前的應用程式或模組,還是使用 Java EE 5 或更新版本的應用程式或模組, .xmi.xml 副檔名會有所不同。 IBM 延伸或連結檔命名為 ibm-*-ext.xmiibm-*-bnd.xmi ,其中 * 是延伸或連結檔的類型,例如 appapplicationejb-jarweb。 適用的條件如下:
    • 如果應用程式或模組使用第 5 版之前的 Java EE 版本,副檔名必須是 .xmi
    • 對於使用 Java EE 5 或更新版本的應用程式或模組,副檔名必須是 .xml。 如果 .xmi 檔隨附於應用程式或模組,產品會忽略 .xmi 檔。

    不過, Java EE 5 或更新版本的模組可以存在於包含Java EE 5 之前的檔案且使用 .xmi 副檔名的應用程式內。

    ibm-webservices-ext.xmiibm-webservices-bnd.xmiibm-webservicesclient-bnd.xmiibm-webservicesclient-ext.xmiibm-portlet-ext.xmi 檔案會繼續使用 .xmi 副檔名。

  • 某些 Cell 層面的自訂作業值
當您定義變數時,會給定一個範圍。 該範圍是指產品網路內,適用該變數的位置範圍。
  • 範圍在節點層次的變數只適用於節點及節點上的伺服器。 如果節點層次的變數名稱和 Cell 層次的變數名稱相同,則會優先採用節點層次的變數值。
  • 一個伺服器變數只能使用於一個伺服器程序。 伺服器變數的優先順序高於定義在更高層次上的同名變數。

配置屬性的值可以包含一或多個變數的參照。 這類屬性的語法是變數名稱,以一對大括弧 { } 或一對括弧 () 括住。 在任何一種情況下,變數都會以錢幣符號來接著。

字串配置屬性值可以包含:
  • 字串文字,包括空值和空字串
  • 變數參照,每一個都包括一或多個間接層次
  • 巢狀變數參照。
  • 非空值和非空字串文字、變數參照和巢狀變數參照的任意組合。

[Windows]若為 Microsoft Windows 作業系統,指定的檔案路徑會以第 /Program Files個作為字首。

表 1. WebSphere 變數及屬性 下表說明所有可能的組合。
配置屬性包括: 配置屬性值 變數名稱 第二個變數值 第三個變數值 第四個變數值 展開的配置屬性值
字串文字 /IBM/WebSphere/AppServer 不適用 不適用 不適用 不適用 /IBM/WebSphere/AppServer
變數參照 $(WAS_ INSTALL_ ROOT) WAS_ INSTALL_ ROOT /IBM/WebSphere/AppServer 不適用 不適用 /IBM/WebSphere/AppServer
含字串文字的變數參照 $(USER_ INSTALL_ ROOT)/temp USER_ INSTALL_ ROOT 不適用 不適用 /IBM/WebSphere/AppServer/profiles/AppSrv01 /IBM/WebSphere/AppServer/profiles/AppSrv01/temp
含字串文字的間接變數參照 $(WAS_ INSTALL_ ROOT)/lib WAS_ INSTALL_ ROOT $(MY_INSTALL_ ROOT) MY_INSTALL_ ROOT 不適用 不適用
含字串文字的巢狀變數參照(範例 1) $(${INSTALL_ TYPE}_ INSTALL_ ROOT)/lib INSTALL_ TYPE USER USER_INSTALL_ ROOT /IBM/WebSphere/AppServer/profiles/AppSrv01 /IBM/WebSphere/AppServer/profiles/AppSrv01/lib
含字串文字的巢狀變數參照(範例 2) $(${INSTALL_ TYPE}_ INSTALL_ ROOT)/lib INSTALL_ TYPE WAS WAS_INSTALL_ ROOT /IBM/WebSphere/AppServer/AppServer /IBM/WebSphere/AppServer/AppServer/lib

在配置程序期間,每當發現變數是配置屬性的值時,即會對該變數執行變數展開。 變數展開是指以變數值遞迴取代變數參照,直到只留下一個字串文字作為配置屬性值的程序。 如果展開程序發現未適當定義的變數,即會停止展開變數,並發出 VariableExpansionException 異常狀況。 產品配置程序則會繼續進行。 不過,由於未適當建立這個配置屬性的值,可能會發生處理程序錯誤。

避免麻煩: 不支援由錢幣符號組成的變數擴充語法,以及不含任何括住大括弧或括弧的單一字母變數名稱。 所有 WebSphere 變數參照都必須以對稱的括弧或大括弧括住,即使是單一字母亦然。 該語法需要跳出錢幣符號,以避免語義不明確。
表 2. 文字錢幣符號 為了與舊版相容,仍然支援跳出文字錢幣符號,且文字錢幣符號會依下表所示加以解譯。
輸入值 展開後的值
$ $
$$ $
$$$ $$
$$$$ $$
$$$$$ $$$