WebSphere 變數
WebSphere 變數是名稱/值配對,用來提供配置產品所使用之任何字串資料類型屬性的設定。 定義變數之後,您即可在產品中接受字串值之任何其他配置欄位的值欄位中,使用指定給該變數的符號名稱。
WebSphere 變數可以用來配置:
- WebSphere® Application Server 路徑名稱,例如 JAVA_HOME和 APP_INSTALL_ROOT
- extendedDocumentRoot
JSP 或檔案提供屬性的路徑值。 這項功能可讓您將應用程式加入叢集環境中的每一個節點,而不需要在每一個節點上修改該應用程式的 ibm-web-ext.xmi 檔。支援的配置: 對於 IBM® 延伸和連結檔, 根據您是使用Java™ EE 5 之前的應用程式或模組,還是使用 Java EE 5 或更新版本的應用程式或模組, .xmi 或 .xml 副檔名會有所不同。 IBM 延伸或連結檔命名為 ibm-*-ext.xmi 或 ibm-*-bnd.xmi ,其中 * 是延伸或連結檔的類型,例如 app、 application、 ejb-jar或 web。 適用的條件如下:
不過, Java EE 5 或更新版本的模組可以存在於包含Java EE 5 之前的檔案且使用 .xmi 副檔名的應用程式內。
ibm-webservices-ext.xmi、 ibm-webservices-bnd.xmi、 ibm-webservicesclient-bnd.xmi、 ibm-webservicesclient-ext.xmi及 ibm-portlet-ext.xmi 檔案會繼續使用 .xmi 副檔名。
- 某些 Cell 層面的自訂作業值
當您定義變數時,會給定一個範圍。 該範圍是指產品網路內,適用該變數的位置範圍。
- 範圍在節點層次的變數只適用於節點及節點上的伺服器。 如果節點層次的變數名稱和 Cell 層次的變數名稱相同,則會優先採用節點層次的變數值。
- 一個伺服器變數只能使用於一個伺服器程序。 伺服器變數的優先順序高於定義在更高層次上的同名變數。
配置屬性的值可以包含一或多個變數的參照。 這類屬性的語法是變數名稱,以一對大括弧 { } 或一對括弧 () 括住。 在任何一種情況下,變數都會以錢幣符號來接著。
字串配置屬性值可以包含:
- 字串文字,包括空值和空字串
- 變數參照,每一個都包括一或多個間接層次
- 巢狀變數參照。
- 非空值和非空字串文字、變數參照和巢狀變數參照的任意組合。
若為 Microsoft Windows 作業系統,指定的檔案路徑會以第 /Program
Files個作為字首。
| 配置屬性包括: | 配置屬性值 | 變數名稱 | 第二個變數值 | 第三個變數值 | 第四個變數值 | 展開的配置屬性值 |
|---|---|---|---|---|---|---|
| 字串文字 | /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 變數參照都必須以對稱的括弧或大括弧括住,即使是單一字母亦然。 該語法需要跳出錢幣符號,以避免語義不明確。
| 輸入值 | 展開後的值 |
|---|---|
| $ | $ |
| $$ | $ |
| $$$ | $$ |
| $$$$ | $$ |
| $$$$$ | $$$ |