[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