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.xmi 或 ibm-*-bnd.xmi,其中 * 是扩展文件或绑定文件的类型,例如,app、application、ejb-jar 或 web。存在下列条件:
    • 对于使用 V5 之前的 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 文件扩展名。

    sptcfg
  • 某些单元范围的定制值
  • [z/OS]针对 z/OS 平台的位置服务。
定义变量时,将对其指定范围。范围是该变量所适用于的产品网络位置范围。
  • 具有单元范围范围的变量适用于整个 Deployment Manager 单元。
  • 具有集群范围范围的变量适用于单元中的整个集群。
  • 具有节点级范围的变量仅适用于该节点以及该节点上的服务器。如果节点级变量与单元范围变量同名,那么节点级变量的值优先。
  • 服务器变量仅适用于一个服务器进程。服务器变量优先于在更高级别定义的同名变量。

配置属性的值可以包含对一个或多个变量的引用。此类属性的语法是,将变量名括在一对花括号 { } 或圆括号 ( ) 中。无论在哪一种情况下,变量前面都有一个美元符。

字符串配置属性值可以由下列各项组成:
  • 字符串文字,包括空值和空字符串
  • 变量引用,每一个都包含一个或多个间接级别
  • 嵌套变量引用。
  • 非 null 和非空字符串文字、变量引用以及嵌套变量引用的任意组合。

[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 变量引用都必须括在配对的圆括号或花括号中,即使它是单个字母也是如此。该语法要求对美元符进行转义以避免二义性。gotcha
表 2. 文字美元符. 为了向后兼容,仍支持对文字美元符进行转义,并且将按下表指示的方式来解释文字美元符。
输入值 扩展后的值
$ $
$$ $
$$$ $$
$$$$ $$
$$$$$ $$$

指示主题类型的图标 概念主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ccws_variable
文件名:ccws_variable.html