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 文件扩展名。
- 某些单元范围的定制值
定义变量时,将对其指定范围。 范围是该变量所适用于的产品网络位置范围。
- 具有节点级范围的变量仅适用于该节点以及该节点上的服务器。 如果节点级变量与单元范围变量同名,那么节点级变量的值优先。
- 服务器变量仅适用于一个服务器进程。 服务器变量优先于在更高级别定义的同名变量。
配置属性的值可以包含对一个或多个变量的引用。 此类属性的语法是变量的名称,包含在一对花括号 { } 或一对括号 () 中。 在任何一种情况下,变量都以美元符号表示。
字符串配置属性值可以由下列各项组成:
- 字符串文字,包括空值和空字符串
- 变量引用,每一个都包含一个或多个间接级别
- 嵌套变量引用。
- 非 null 和非空字符串文字、变量引用以及嵌套变量引用的任意组合。
| 配置属性由下列各项组成: | 配置属性值 | 变量名称 | 第二个变量值 | 第三个变量值 | 第四个变量值 | 扩展的配置属性值 |
|---|---|---|---|---|---|---|
| 字符串字面值 | /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_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 异常。 产品配置过程将继续进行。 但是,可能会因为未正确确定此配置属性的值而发生处理错误。
对于转换用户: 产品的版本 6.0.x 和 6.1.x 中提供的变量扩展语法包含一个变体,该变体由一个美元符号和一个没有任何括号或括号的单字母变量名称组成。 此语法在 V 8.5 或更高版本中不受支持。 所有 WebSphere 变量引用都必须用匹配的圆括号或花括号括起来,即使只是一个字母也是如此。 该语法要求对美元符进行转义以避免二义性。
| 输入值 | 扩展后的值 |
|---|---|
| $ | $ |
| $$ | $ |
| $$$ | $$ |
| $$$$ | $$ |
| $$$$$ | $$$ |