Return-Path: Delivered-To: apmail-directory-commits-archive@www.apache.org Received: (qmail 84517 invoked from network); 8 Sep 2006 01:46:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 8 Sep 2006 01:46:06 -0000 Received: (qmail 7369 invoked by uid 500); 8 Sep 2006 01:46:06 -0000 Delivered-To: apmail-directory-commits-archive@directory.apache.org Received: (qmail 7322 invoked by uid 500); 8 Sep 2006 01:46:06 -0000 Mailing-List: contact commits-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@directory.apache.org Delivered-To: mailing list commits@directory.apache.org Received: (qmail 7311 invoked by uid 99); 8 Sep 2006 01:46:06 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Sep 2006 18:46:06 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 07 Sep 2006 18:46:05 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 6C5BD1A981A; Thu, 7 Sep 2006 18:45:45 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: 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 Date: Fri, 08 Sep 2006 01:45:45 -0000 To: commits@directory.apache.org From: trustin@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20060908014545.6C5BD1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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 @@ + + + + + +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 );
+        }      
+    }
+});
+
+ +