본문 바로가기
Java

MBean Client, Server Example

by 무대포 개발자 2018. 7. 31.
728x90
반응형

1. 설명

  • 이미 동작하고 있는 MBean Server 에 MBean 을 등록하고, Client 을 통해 JMX 통신을 한다.
  • Client 는 로컬에서 하면 안되고, Server 소스가 설치된 서버에서 직접 해야 붙음.

2. Client

public static void main(String [] args) throws Exception
{
	String serviceUrl = args[0];
	JMXServiceURL url = new JMXServiceURL(serviceUrl);
	JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
		
	ObjectName objectName = new 
	ObjectName("JRF:name=MBean 클래스 이름");
		
	MBeanServerConnection mBeanServerConnection = 	
		jmxc.getMBeanServerConnection();
	Mbean인터페이스 mBean = 
		JMX.newMBeanProxy(mBeanServerConnection, objectName, 		
						  MBean인터페이스.class, true);
		mBean.인터페이스메소드();
		System.out.println("MBean Call...");
}

3. Server

MBeanServer mBeanServer = null;
List<MBeanServer> serverList = 
	MBeanServerFactory.findMBeanServer(null);
for (MBeanServer server : serverList)
{
	if ("특정 Domain".equals(mBeanServer.getDefaultDomain()))
	{
		mBeanServer = server;
	}
}

if (fwMBeanServer != null)
{
	logger.debug("MBean is registered.");
	logger.debug("objectName : [{}]", objectName);
	StandardMBean mbean = new 	
	StandardMBean(MBean 구현체 클래스, 
				  MBean 인터페이스.class);
	mBeanServer.registerMBean(mbean, new ObjectName(objectName));
}
else
{
	logger.error(" #################################");
	logger.error(" MBean is not exist....");
	logger.error(" #################################");
}

댓글