冰镇可乐 发表于 2017-2-17 11:12:29

在运行期间获得WebLogic Server所监听的IP地址和端口号

每个WebLogic Server都可以配置其监听的IP地址和端口号,如下图:
http://flyisland.iteye.com/topics/download/6e229ff3-994d-4eab-8c1c-4b8515949e14

在运行期间,如果应用需要知道WebLogic Server所监听的IP地址和端口号,可通过JMX编程获得,JSP的样例程序如下:
java 代码
 

[*]<%@ page import="javax.naming.Context, 
[*]                javax.naming.InitialContext, 
[*]                weblogic.management.MBeanHome, 
[*]                weblogic.management.configuration.ServerMBean"   
[*]%>  
[*]<%!  
[*]    String  serverName, serverAddress;  
[*]    int     serverPort;  
[*]      
[*]    private void getServerInfo() throws Exception {  
[*]            Context myCtx = new InitialContext();  
[*]            MBeanHome home = (MBeanHome)myCtx.lookup(MBeanHome.LOCAL_JNDI_NAME);  
[*]            serverName=home.getMBeanServer().getServerName();  
[*]              
[*]            ServerMBean sc = (ServerMBean)home.getConfigurationMBean(serverName, "ServerConfig");  
[*]            serverAddress = sc.getListenAddress();  
[*]            serverPort = sc.getListenPort();  
[*]    }  
[*]%>  
[*]  
[*]  
[*]    
[*]  
[*]<%  
[*]    try {  
[*]        getServerInfo();  
[*]    } catch (Exception e) {  
[*]    }  
[*]%>  
[*]  
[*]Server Name: <%=serverName %> 
  
[*]Server Address: <%=serverAddress %> 
  
[*]Server Port: <%=serverPort %> 
  
[*]  
[*]   



将上述代码保存成jsp文件,放置到web app目录中,即可访问其得到服务器名字、IP地址和端口号。如果是匿名用户(尚未登陆)则会出现安全错误,因为WebLogic Server缺省情况下不允许匿名用户访问MBean信息,可在控制台中更改,如下图:
http://flyisland.iteye.com/topics/download/dfa24483-fd1b-4606-8137-38e286082ccb

参考资料:
1)Programming            WebLogic Management Services with JMX
2)Javadocs            for WebLogic Classes

该JSP程序在WebLogic Server 8.1 SP6上测试通过。
页: [1]
查看完整版本: 在运行期间获得WebLogic Server所监听的IP地址和端口号