Package org.apache.mina.integration.jmx
JMX (Java Management eXtension) integration.
Monitoring Your MINA Services and Sessions
Monitoring an IoService
acceptor = new SocketAcceptor();
try
{
IoServiceManager iosm = new IoServiceManager(acceptor);
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName( "com.acme.test:type=IoServiceManager,name=MyMINAServer" );
mbs.registerMBean( iosm, name );
}
catch( JMException e )
{
logger.error( "JMX Exception: ", e );
}
Monitoring an IoSession
Each session is registered to MBean server individually.acceptor.addListener( new IoServiceListener() { public void serviceActivated( IoService service, SocketAddress serviceAddress, IoHandler handler, IoServiceConfig config ) { } public void serviceDeactivated( IoService service, SocketAddress serviceAddress, IoHandler handler, IoServiceConfig config ) { } public void sessionCreated( IoSession session ) { try { IoSessionManager sessMgr = new IoSessionManager( session ); MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); ObjectName name = new ObjectName( "com.acme.test.session:type=IoSessionManager,name=" + session.getRemoteAddress().toString().replace( ':', '/' ) ); mbs.registerMBean( sessMgr, name ); } catch( JMException e ) { logger.error( "JMX Exception: ", e ); } } public void sessionDestroyed( IoSession session ) { try { ObjectName name = new ObjectName( "com.acme.test.session:type=IoSessionManager,name=" + session.getRemoteAddress().toString().replace( ':', '/' ) ); ManagementFactory.getPlatformMBeanServer().unregisterMBean( name ); } catch( JMException e ) { logger.error( "JMX Exception: ", e ); } } }); }
-
Class Summary Class Description IoFilterMBean A JMX MBean wrapper for anIoSession
.IoServiceMBean A JMX MBean wrapper for anIoSession
.IoSessionMBean A JMX MBean wrapper for anIoSession
.ObjectMBean<T> AModelMBean
wrapper implementation for a POJO.