快速业务通道

Weblogic中获取Server信息 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15

Weblogic中获取Server信息

时间:2011-09-14

在J2EE中我们经常需要获取到当前server的host和port等信息,比如在结构复杂的EJB程序中,进行一些remote调用,或者访问本机中的一个webservice组件,在weblogic中,如果设置了ListenAddress,那么localhost这个主机名是不可访问的,我们可以通过MBean去获取到server的信息,以获取server的ip和port为例: 

  ObjectName rs = null;   MBeanServer mbeanServer= (MBeanServer)context.lookup("java:comp/env/jmx/runtime");   String RUNTIME_SERVICE_MBEAN = "com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean";   rs = new ObjectName(RUNTIME_SERVICE_MBEAN);   ObjectName serverrt = (ObjectName) mbeanServer.getAttribute(rs, "ServerRuntime");   String listenAddr = (String)mbeanServer.getAttribute(serverrt, "ListenAddress");   String[] tempAddr = listenAddr.split("/");   if (tempAddr.length == 1) {      listenAddr = tempAddr[0];   } else if (tempAddr[tempAddr.length - 1].trim().length() != 0) {      listenAddr = tempAddr[tempAddr.length - 1];   } else if (tempAddr.length > 2) {      listenAddr = tempAddr[tempAddr.length - 2];   }   String listenPort = String.valueOf(mbeanServer.getAttribute(serverrt, "ListenPort"));

由于ListenAddress获取到的可能是weblogic的t3的url,所以应该对该address进行拆分,取最后一部分可用的地址即可。

通过获取的ServerReference,我们可以得到更多的server信息,可参考weblogic的相关文档:

http://download.oracle.com/docs/cd/E11035_01/wls100/wlsmbeanref/core/index.html

http://e-docs.bea.com/wls/docs81/jmx/overview.html

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号