程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Weblogic中獲取Server信息

Weblogic中獲取Server信息

編輯:關於JAVA

在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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved