创建、编辑和删除 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_HOME 和 APP_INSTALL_ROOT。
  • 配置特定单元范围或集群范围定制值。
  • [z/OS]位置服务。
  • [z/OS]环境变量。

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

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

过程

  1. 在管理控制台中单击 环境> WebSphere 变量
  2. 从可用作用域的列表中选择变量的作用域。

    如果您创建新变量,那么将在所选作用域中进行创建。 如果在多个级别定义同一个变量,那么细化的定义将覆盖高级别的设置。 例如,如果在单元级别和节点级别指定了同一个变量,那么节点级设置将覆盖单元级设置。

    在测试数据源对象时,限定变量的作用域尤其重要。 变量作用域限定可导致数据源测试连接失败但运行时却成功,或者通过测试连接但运行时却失败。

  3. 创建、更改或删除变量。
    • 创建新变量。

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

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

        [z/OS]可以使用 WebSphere 变量来修改守护程序配置。 通过追加服务器定制属性到守护程序标记,您可以特别为该守护程序指定变量。 输入DAEMON_<server custom property>名称 字段中。 例如,如果您输入DAEMON_ras_trace_outputlocation在里面姓名领域和SYSOUT在里面价值字段,您可以将该特定守护进程的跟踪输出定向到 SYSPRINT。

    • 修改现有变量的设置。
      1. 单击要更改的变量的名称。

        [z/OS]应用服务器使用WebSphere Application Server内部变量用于其自身目的。 指示变量是内部变量的前缀是WAS_DAEMON_<server custom property>,WAS_DAEMON_ONLY_<server custom property>,和WAS_SERVER_ONLY_<server custom property>。带有这些标记的任何变量都不适合您使用。 专门保留他们,以供服务器运行时使用。 修改这些变量可能会导致意外错误。

      2. 修改内容价值观场地。

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

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

    如果您创建了变量,请点击环境>WebSphere变量在管理控制台导航中,并验证变量是否显示在选定范围的变量列表中。

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

    如果删除了变量,请验证该变量是否已从选定范围的变量列表中删除。

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

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