创建、编辑和删除 WebSphere 变量

您可以使用 WebSphere® 变量为产品配置文件中包含的任何字符串数据类型属性提供设置。

准备工作

由于应用程序无法直接访问 WebSphere 变量,因此如果在应用程序内定义 WebSphere 变量,那么将返回错误消息,例如 "未知变量"。 如果需要从应用程序中引用 WebSphere 变量,请在该应用程序中包括以下方法,以便将使用了 WebSphere 变量的字符串展开:

避免麻烦: 扩展 WebSphere 变量要求您具有管理特权。
private String expandVariable(String s) throws
javax.management.JMException {  
com.ibm.websphere.management.AdminService as = 
com.ibm.websphere.management.AdminServiceFactory.getAdminService 
();  

String server = as.getProcessName();  

java.util.Set result = as.queryNames(new javax.management.ObjectName("*:*,type=AdminOperations,process=" 
+ server), null);  

return (String)as.invoke((javax.management.ObjectName) 
result.iterator().next(),"expandVariable",new Object[] 
{"${"+s+"}"}, new String[] {"java.lang.String"});
同样,如果要使用脚本命令来展开 WebSphere 变量,那么可以在脚本文件中包括以下代码行。
  • 使用 Jacl:
    set mbean [$AdminControl completeObjectName WebSphere:*,type=AdminOperations]
    $AdminControl invoke $mbean expandVariable {{"${APP_INSTALL_ROOT}"}}
  • 使用 Jython:
    AdminOperations = AdminControl.completeObjectName('WebSphere:*,type=AdminOperations')
    print AdminControl.invoke(AdminOperations, 'expandVariable', '${APP_INSTALL_ROOT}')

有关此任务

WebSphere 变量通常用于指定文件路径。 WebSphere 变量设置 提供有关指定变量以及使用这些变量的产品组件的更多详细信息。

WebSphere 变量还用于配置以下各项:
  • 产品路径名,例如 JAVA_HOMEAPP_INSTALL_ROOT
  • 某些定制值。

WebSphere 变量的变量作用域限定机制使您能够在节点级别以及服务器级别定义变量。 此机制使您能够为节点、集群或单元中的所有服务器指定一种设置,而不必为每个服务器分别指定该设置。

要定义新变量、更改现有变量的值或者删除现有变量,请完成下列相应步骤。

过程

  1. 在管理控制台中,单击 环境 > WebSphere 变量
  2. 创建,更改或删除变量。
    • 创建新变量。

      1. 单击新建
      2. 指定变量的名称、值以及描述(可选)。

        您可以创建支持替换的 WebSphere 变量。 例如,如果您输入${<variable name>}名称 字段中,<variable name>成为新的 WebSphere 变量的名称。 例如,如果您输入${JAVA_HOME}作为变量的名称,创建的 WebSphere 变量的名称是 Java™ 主目录。

    • 修改现有变量的设置。
      1. 单击要更改的变量的名称。
      2. 修改 字段的内容。

        安装产品时已定义的某些变量的 字段是只读的,因为更改为这些变量指定的值可能会导致产品处理错误。

    • 删除现有的变量。
      1. 选择要删除的变量。
      2. 单击删除
  3. 单击确定
  4. 验证更改。

    如果创建了变量,请在管理控制台导航中单击 环境 > WebSphere 变量 ,并验证该变量是否显示在所选作用域的变量列表中。

    管理控制台不会采纳输入错误。 如果错误地引用了此变量,就会忽略此变量。

    如果删除了变量,请验证是否已从所选作用域的变量列表中除去该变量。

  5. 保存配置。
  6. 停止受影响的服务器,然后再次将其启动以使变量配置更改生效。

    如果所作的更改影响节点,那么必须停止并重新启动该节点上的所有服务器。 同样,如果所作的更改影响单元,那么必须停止并重新启动该单元中的所有服务器。