JMX创建与连接
JMX是类似于rmi调用的一种服务,可在jconsole中看到 DOMAIN可以任意起,ip与port根据系统实际情况拟定,ObjectName 与 type可以根据实际情况定。
/**
* 注册Mbean服务
*/
public static boolean registMbean(){
String DOMAIN = "TEST_JMX";
MBeanServer server = MBeanServerFactory.createMBeanServer();
String rmiIp = "10.240.1.223";
int rmiPort = 37173;
try {
//注册Mbean
server.registerMBean(new CompletAssInfoImpl(), new ObjectName(DOMAIN+":name=TopoCenter, type=CompletAsset"));
LocateRegistry.createRegistry(rmiPort);
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"+rmiIp+":"+rmiPort+"/server");
JMXConnectorServer cs = JMXConnectorServerFactory.newJMXConnectorServer(url, null, server);
cs.start();
}catch (InstanceAlreadyExistsException e) {
e.printStackTrace();
return false;
} catch (MBeanRegistrationException e) {
e.printStackTrace();
return false;
} catch (NotCompliantMBeanException e) {
e.printStackTrace();
return false;
} catch (MalformedObjectNameException e) {
e.printStackTrace();
return false;
} catch (RemoteException e) {
e.printStackTrace();
return false;
} catch (MalformedURLException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
return true;
}
接口定义
public interface CompletAssInfoMXBean {
public boolean completAssInfo(String taskId);
}
实现定义
public class CompletAssInfoImpl implements CompletAssInfoMXBean{
@Override
public boolean completAssInfo(String taskId) {return false;}
}
如图jconsole连接串
service:jmx:rmi:///jndi/rmi://10.240.1.223:37173/server