[jboss-cvs] JBoss Messaging SVN: r3485 - trunk/src/main/org/jboss/messaging/core/remoting/integration.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 12 09:58:49 EST 2007


Author: jmesnil
Date: 2007-12-12 09:58:48 -0500 (Wed, 12 Dec 2007)
New Revision: 3485

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/integration/FilterChainSupport.java
   trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaConnector.java
   trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaService.java
Log:
* refactored MINA filter chain creation in FilterChainSupport to merge code common to
 both MinaConnector (client-side) and MinaService (server-side)

Modified: trunk/src/main/org/jboss/messaging/core/remoting/integration/FilterChainSupport.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/integration/FilterChainSupport.java	2007-12-12 14:13:09 UTC (rev 3484)
+++ trunk/src/main/org/jboss/messaging/core/remoting/integration/FilterChainSupport.java	2007-12-12 14:58:48 UTC (rev 3485)
@@ -9,14 +9,20 @@
 import static org.apache.mina.filter.logging.LogLevel.TRACE;
 import static org.apache.mina.filter.logging.LogLevel.WARN;
 
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+
 import org.apache.mina.common.DefaultIoFilterChainBuilder;
+import org.apache.mina.filter.codec.ProtocolCodecFilter;
 import org.apache.mina.filter.logging.LoggingFilter;
+import org.apache.mina.filter.logging.MdcInjectionFilter;
+import org.apache.mina.filter.reqres.RequestResponseFilter;
 
 /**
  * @author <a href="mailto:jmesnil at redhat.com">Jeff Mesnil</a>
- *
+ * 
  * @version <tt>$Revision$</tt>
- *
+ * 
  */
 public class FilterChainSupport
 {
@@ -30,24 +36,57 @@
 
    // Public --------------------------------------------------------
 
+   // Package protected ---------------------------------------------
+
+   static void addCodecFilter(DefaultIoFilterChainBuilder filterChain)
+         throws Exception
+   {
+      assert filterChain != null;
+
+      filterChain.addLast("codec", new ProtocolCodecFilter(
+            new PacketCodecFactory()));
+   }
+
+   static void addMDCFilter(DefaultIoFilterChainBuilder filterChain)
+         throws Exception
+   {
+      assert filterChain != null;
+
+      MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
+      filterChain.addLast("mdc", mdcInjectionFilter);
+   }
+
    static void addLoggingFilter(DefaultIoFilterChainBuilder filterChain)
    {
+      assert filterChain != null;
+
       LoggingFilter filter = new LoggingFilter();
 
       filter.setSessionCreatedLogLevel(TRACE);
       filter.setSessionOpenedLogLevel(TRACE);
       filter.setSessionIdleLogLevel(TRACE);
       filter.setSessionClosedLogLevel(TRACE);
-      
+
       filter.setMessageReceivedLogLevel(TRACE);
       filter.setMessageSentLogLevel(TRACE);
-      
+
       filter.setExceptionCaughtLogLevel(WARN);
-      
+
       filterChain.addLast("logger", filter);
    }
+   
+   static ScheduledExecutorService addBlockingRequestResponseFilter(
+         DefaultIoFilterChainBuilder filterChain)
+   {
+      assert filterChain != null;
 
-   // Package protected ---------------------------------------------
+      ScheduledExecutorService executorService = Executors.newScheduledThreadPool(1);
+      RequestResponseFilter filter = new RequestResponseFilter(
+            new MinaInspector(), executorService);      
+      filterChain.addLast("reqres", filter);
+      
+      return executorService;
+   }
 
    // Protected -----------------------------------------------------
 

Modified: trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaConnector.java	2007-12-12 14:13:09 UTC (rev 3484)
+++ trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaConnector.java	2007-12-12 14:58:48 UTC (rev 3485)
@@ -6,13 +6,15 @@
  */
 package org.jboss.messaging.core.remoting.integration;
 
+import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addBlockingRequestResponseFilter;
+import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addCodecFilter;
 import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addLoggingFilter;
+import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addMDCFilter;
 
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.mina.common.CloseFuture;
@@ -22,9 +24,6 @@
 import org.apache.mina.common.IoService;
 import org.apache.mina.common.IoServiceListener;
 import org.apache.mina.common.IoSession;
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.logging.MdcInjectionFilter;
-import org.apache.mina.filter.reqres.RequestResponseFilter;
 import org.apache.mina.transport.socket.nio.NioSocketConnector;
 import org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener;
 import org.jboss.logging.Logger;
@@ -64,22 +63,22 @@
    public MinaConnector() throws Exception
    {
       this.connector = new NioSocketConnector();
+      DefaultIoFilterChainBuilder filterChain = connector.getFilterChain();
       
-      MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
-      connector.getFilterChain().addLast("mdc", mdcInjectionFilter);
+      addMDCFilter(filterChain);
 
-      connector.getFilterChain().addLast("codec",
-            new ProtocolCodecFilter(new PacketCodecFactory()));
+      addCodecFilter(filterChain);
 
-      addBlockingRequestResponseFilter(connector.getFilterChain());
+      blockingScheduler = addBlockingRequestResponseFilter(filterChain);
 
-      addLoggingFilter(connector.getFilterChain());
+      addLoggingFilter(filterChain);
 
       connector.setHandler(new MinaHandler(PacketDispatcher.client));
       connector.getSessionConfig().setKeepAlive(true);
       connector.getSessionConfig().setReuseAddress(true);
    }
 
+
    // NIOConnector implementation -----------------------------------
    
    public NIOSession connect(String host, int port, TransportType transport) throws IOException {
@@ -167,15 +166,6 @@
 
    // Private -------------------------------------------------------
 
-   private void addBlockingRequestResponseFilter(
-         DefaultIoFilterChainBuilder chain)
-   {
-      blockingScheduler = Executors.newScheduledThreadPool(1);
-      RequestResponseFilter filter = new RequestResponseFilter(
-            new MinaInspector(), blockingScheduler);
-      chain.addLast("reqres", filter);
-   }
-
    // Inner classes -------------------------------------------------
 
    private final class IoServiceListenerAdapter implements IoServiceListener

Modified: trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaService.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaService.java	2007-12-12 14:13:09 UTC (rev 3484)
+++ trunk/src/main/org/jboss/messaging/core/remoting/integration/MinaService.java	2007-12-12 14:58:48 UTC (rev 3485)
@@ -6,12 +6,13 @@
  */
 package org.jboss.messaging.core.remoting.integration;
 
+import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addCodecFilter;
 import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addLoggingFilter;
+import static org.jboss.messaging.core.remoting.integration.FilterChainSupport.addMDCFilter;
 
 import java.net.InetSocketAddress;
 
-import org.apache.mina.filter.codec.ProtocolCodecFilter;
-import org.apache.mina.filter.logging.MdcInjectionFilter;
+import org.apache.mina.common.DefaultIoFilterChainBuilder;
 import org.apache.mina.transport.socket.nio.NioSocketAcceptor;
 import org.jboss.logging.Logger;
 import org.jboss.messaging.core.remoting.PacketDispatcher;
@@ -67,13 +68,10 @@
       if (acceptor == null)
       {
          acceptor = new NioSocketAcceptor();
-
-         // Prepare the configuration
-         MdcInjectionFilter mdcInjectionFilter = new MdcInjectionFilter();
-         acceptor.getFilterChain().addLast("mdc", mdcInjectionFilter);
-         acceptor.getFilterChain().addLast("codec",
-               new ProtocolCodecFilter(new PacketCodecFactory()));
-
+         DefaultIoFilterChainBuilder filterChain = acceptor.getFilterChain();
+         
+         addMDCFilter(filterChain);
+         addCodecFilter(filterChain);
          addLoggingFilter(acceptor.getFilterChain());
 
          // Bind




More information about the jboss-cvs-commits mailing list