Java 获取weblogic 服务器IP和端口

Java 获取weblogic 服务器IP、端口

写了个定时任务,但是weblogic 服务器有好几台,代码放上去之后相当于多个定时任务同时运行,这不符合一开始的设计需求,因此需要指定一台服务器运行定时任务。代码如下:

try {
	Context ctx = new InitialContext();
	MBeanServer tMBeanServer = (MBeanServer) ctx.lookup("java:comp/env/jmx/runtime");
	ObjectName tObjectName = new ObjectName("com.bea:Name=RuntimeService,Type=weblogic.management.mbeanservers.runtime.RuntimeServiceMBean");
	ObjectName serverrt = (ObjectName) tMBeanServer.getAttribute(tObjectName, "ServerRuntime");
	String port = String.valueOf(tMBeanServer.getAttribute(serverrt, "ListenPort"));
	String listenAddr = (String) tMBeanServer.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];
	}
	log.warn(listenAddr + "++++++++++++++" + port);
} catch (Exception e) {
	e.printStackTrace();
}
posted @ 2021-06-02 09:09  山上的人  阅读(445)  评论(0编辑  收藏  举报