You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by tr...@apache.org on 2006/09/08 03:45:45 UTC
svn commit: r441331 - in
/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx:
IoServiceManager.java IoServiceManagerMBean.java IoSessionManager.java
IoSessionManagerMBean.java package.html
Author: trustin
Date: Thu Sep 7 18:45:44 2006
New Revision: 441331
URL: http://svn.apache.org/viewvc?view=rev&rev=441331
Log:
Added small documentation to integration-jmx
Added:
directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/package.html
Modified:
directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java (contents, props changed)
directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java (contents, props changed)
directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java (contents, props changed)
directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java (contents, props changed)
Modified: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java?view=diff&rev=441331&r1=441330&r2=441331
==============================================================================
--- directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java (original)
+++ directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java Thu Sep 7 18:45:44 2006
@@ -23,10 +23,7 @@
import java.net.SocketAddress;
import java.util.Iterator;
-import org.apache.mina.common.IoHandler;
import org.apache.mina.common.IoService;
-import org.apache.mina.common.IoServiceConfig;
-import org.apache.mina.common.IoServiceListener;
import org.apache.mina.common.IoSession;
import org.apache.mina.management.IoSessionStat;
import org.apache.mina.management.StatCollector;
@@ -34,6 +31,7 @@
/**
* @author The Apache Directory Project (mina-dev@directory.apache.org)
+ * @version $Rev$, $Date$
*/
public class IoServiceManager implements IoServiceManagerMBean
{
Propchange: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManager.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
Modified: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java?view=diff&rev=441331&r1=441330&r2=441331
==============================================================================
--- directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java (original)
+++ directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java Thu Sep 7 18:45:44 2006
@@ -21,6 +21,7 @@
/**
* @author The Apache Directory Project (mina-dev@directory.apache.org)
+ * @version $Rev$, $Date$
*/
public interface IoServiceManagerMBean
{
Propchange: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoServiceManagerMBean.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
Modified: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java?view=diff&rev=441331&r1=441330&r2=441331
==============================================================================
--- directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java (original)
+++ directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java Thu Sep 7 18:45:44 2006
@@ -35,6 +35,7 @@
/**
* @author The Apache Directory Project (mina-dev@directory.apache.org)
+ * @version $Rev$, $Date$
*/
public class IoSessionManager implements IoSessionManagerMBean
{
Propchange: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManager.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
Modified: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java
URL: http://svn.apache.org/viewvc/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java?view=diff&rev=441331&r1=441330&r2=441331
==============================================================================
--- directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java (original)
+++ directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java Thu Sep 7 18:45:44 2006
@@ -26,6 +26,7 @@
/**
* MBean interface for the session manager, it's used for instrumenting IoSession
* @author The Apache Directory Project (mina-dev@directory.apache.org)
+ * @version $Rev$, $Date$
*/
public interface IoSessionManagerMBean
{
Propchange: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/IoSessionManagerMBean.java
------------------------------------------------------------------------------
svn:keywords = HeadURL Id LastChangedBy LastChangedDate LastChangedRevision
Added: directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/package.html
URL: http://svn.apache.org/viewvc/directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/package.html?view=auto&rev=441331
==============================================================================
--- directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/package.html (added)
+++ directory/trunks/mina/integration-jmx/src/main/java/org/apache/mina/integration/jmx/package.html Thu Sep 7 18:45:44 2006
@@ -0,0 +1,72 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<html>
+<head>
+</head>
+<body>
+JMX (Java Management eXtension) integration
+
+<h2>Monitoring Your MINA Services and Sessions</h3>
+
+<h3>Monitoring an IoService</h3>
+<pre>
+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 );
+}
+</pre>
+
+<h3>Monitoring an IoSession</h3>
+
+Each session is registered to MBean server individually.
+
+<pre>
+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 );
+ }
+ }
+});
+</pre>
+</body>
+</html>