访问Websphere 6.1变量

我想从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变量的常规环境变量:

  1. 定义您的websphere变量some​​Variable = someValue
  2. 转到(类似)服务器 – >服务器类型 – > Websphere应用程序服务器 – > YOUR_SERVER – > Java和流程管理 – >流程定义 – > Java虚拟机 – > Custmo属性
  3. 定义一个新变量some​​Variable = $ {someVariable}

现在访问变量System.getProperty(“someVariable”)

对不起,我不能发表评论。

我得到$ {}包围的相同变量。 没有安全配置。 任何提示? – xain

您必须在创建变量后重新启动服务器。