【发布时间】:2010-08-10 14:23:58
【问题描述】:
我想从 java 类中获取 Websphere 变量 APP_INSTALL_ROOT 的值。如何做到这一点。
【问题讨论】:
我想从 java 类中获取 Websphere 变量 APP_INSTALL_ROOT 的值。如何做到这一点。
【问题讨论】:
【讨论】:
来自 IBM 信息中心:
您可以使用 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 变量值的另一种方法是在 WAS 控制台中定义一个指向您的 Websphere 变量的常规环境变量:
现在以 System.getProperty("someVariable") 访问变量
【讨论】:
对不起,我不能写评论。
我得到了被 ${} 包围的同一个变量。未配置安全性。有什么提示吗? – xain
您必须在创建变量后重新启动服务器。
【讨论】: