[jboss-cvs] JBoss Messaging SVN: r3531 - trunk/src/main/org/jboss/messaging/core/remoting/impl/mina.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jan 4 07:49:02 EST 2008


Author: jmesnil
Date: 2008-01-04 07:49:02 -0500 (Fri, 04 Jan 2008)
New Revision: 3531

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/FilterChainSupport.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
Log:
* added an executor filter (using default OrderedThreadedPoolExecutor) to MINA acceptor so that packet dispatching is no longer done by the I/O processor thread 

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/FilterChainSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/FilterChainSupport.java	2008-01-03 22:24:47 UTC (rev 3530)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/FilterChainSupport.java	2008-01-04 12:49:02 UTC (rev 3531)
@@ -14,6 +14,7 @@
 
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
 import org.apache.mina.filter.codec.ProtocolCodecFilter;
+import org.apache.mina.filter.executor.ExecutorFilter;
 import org.apache.mina.filter.logging.LoggingFilter;
 import org.apache.mina.filter.logging.MdcInjectionFilter;
 import org.apache.mina.filter.reqres.RequestResponseFilter;
@@ -73,6 +74,13 @@
       filterChain.addLast("logger", filter);
    }
    
+   static ExecutorFilter addExecutorFilter(DefaultIoFilterChainBuilder filterChain)
+   {
+      ExecutorFilter executorFilter = new ExecutorFilter();
+      filterChain.addLast("executor", executorFilter);
+      return executorFilter;
+   }
+   
    static ScheduledExecutorService addBlockingRequestResponseFilter(
          DefaultIoFilterChainBuilder filterChain)
    {

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-01-03 22:24:47 UTC (rev 3530)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/mina/MinaService.java	2008-01-04 12:49:02 UTC (rev 3531)
@@ -13,6 +13,7 @@
 import java.net.InetSocketAddress;
 
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
+import org.apache.mina.filter.executor.ExecutorFilter;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.jboss.logging.Logger;
 import org.jboss.messaging.core.remoting.ConnectorRegistry;
@@ -42,6 +43,8 @@
 
    private TransportType transport;
 
+   private ExecutorFilter executorFilter;
+
    // Static --------------------------------------------------------
 
    // Constructors --------------------------------------------------
@@ -78,8 +81,9 @@
          
          addMDCFilter(filterChain);
          addCodecFilter(filterChain);
-         addLoggingFilter(acceptor.getFilterChain());
-
+         addLoggingFilter(filterChain);
+         executorFilter = FilterChainSupport.addExecutorFilter(filterChain);
+         
          // Bind
          acceptor.setLocalAddress(new InetSocketAddress(host, port));
          acceptor.setReuseAddress(true);
@@ -99,6 +103,7 @@
       if (acceptor != null)
       {
          acceptor.unbind();
+         executorFilter.destroy();
          acceptor.dispose();
          acceptor = null;
          




More information about the jboss-cvs-commits mailing list