yinxin
作者yinxin·2015-04-09 19:30
项目经理·某金融机构

通过应用程序读取WebSphere环境变量

字数 3182阅读 1166评论 0赞 0

因为特殊原因,需要把某些与应用部署环境相关的信息配置在Was Server上,但是在Java应用中能否取到WebSphere的环境变量信息呢?搜索资料后,找到方法,解决代码如下:

  1. public class WasVariableUtil {  
  2.     public static String loadVariable(String variableString) throws Throwable {  
  3.         String result = null;  
  4.         AdminService adminService = AdminServiceFactory.getAdminService();  
  5.         ObjectName adminObjectQuery = new ObjectName("WebSphere:*,type=AdminOperations");  
  6.         Set objectNames = adminService.queryNames(adminObjectQuery, null);  
  7.         if (!objectNames.isEmpty()) {  
  8.             ObjectName adminObjectName = (ObjectName) objectNames.iterator().next();  
  9.             String operationName = "expandVariable";  
  10.             String signature[] = { String.class.getName() };  
  11.             String params[] = { variableString };  
  12.             Object retVal = adminService.invoke(adminObjectName, operationName, params, signature);  
  13.             result = String.valueOf(retVal);  
  14.         }  
  15.         return result;  
  16.     }  
  17.   
  18.     public static void main(String[] args) {  
  19.   
  20.         String result = null;  
  21.         try {  
  22.             result = WasVariableUtil.loadVariable("${WAS_INSTALL_ROOT}");  
  23.         } catch (Throwable e) {  
  24.             e.printStackTrace();  
  25.             result = "Default Value";  
  26.         }  
  27.         System.out.println(result);  
  28.     }  
  29. }  

以上为代码实现。此外,还依赖Was Client的jar,名称为:com.ibm.ws.webservices.thinclient_6.1.0.jar,在WebSphere的安装目录/opt/IBM/WebSphere/AppServer/runtimes(Linux环境)下可以找到此Jar包

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广