创建、编辑和删除 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 变量还用于配置以下各项:
- 产品路径名,例如 JAVA_HOME 和 APP_INSTALL_ROOT。
- 某些定制值。
WebSphere 变量的变量作用域限定机制使您能够在节点级别以及服务器级别定义变量。 此机制使您能够为节点、集群或单元中的所有服务器指定一种设置,而不必为每个服务器分别指定该设置。
要定义新变量、更改现有变量的值或者删除现有变量,请完成下列相应步骤。