You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/06/09 21:56:44 UTC

svn commit: r953134 - in /james/server/trunk: imapserver/src/main/java/org/apache/james/imapserver/netty/ pop3server/src/main/java/org/apache/james/pop3server/netty/ remotemanager/src/main/java/org/apache/james/remotemanager/netty/ smtpserver/src/main/...

Author: norman
Date: Wed Jun  9 19:56:44 2010
New Revision: 953134

URL: http://svn.apache.org/viewvc?rev=953134&view=rev
Log:
We need to add the ChannelGroupHandler in the factory so it is added on each connection. This should fix the waiting connections (JAMES-1014)

Modified:
    james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/NioImapServer.java
    james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/NioPOP3Server.java
    james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/netty/NioRemoteManager.java
    james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java

Modified: james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/NioImapServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/NioImapServer.java?rev=953134&r1=953133&r2=953134&view=diff
==============================================================================
--- james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/NioImapServer.java (original)
+++ james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/NioImapServer.java Wed Jun  9 19:56:44 2010
@@ -29,9 +29,11 @@ import org.apache.james.imap.api.process
 import org.apache.james.imap.decode.ImapDecoder;
 import org.apache.james.imap.encode.ImapEncoder;
 import org.apache.james.imap.main.ImapRequestStreamHandler;
+import org.apache.james.protocols.impl.ChannelGroupHandler;
 import org.apache.james.socket.netty.AbstractConfigurableAsyncServer;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
+import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.connection.ConnectionLimitUpstreamHandler;
 import org.jboss.netty.handler.connection.ConnectionPerIpLimitUpstreamHandler;
 import org.jboss.netty.handler.ssl.SslHandler;
@@ -90,11 +92,14 @@ public class NioImapServer extends Abstr
     }
 
     @Override
-    protected ChannelPipelineFactory createPipelineFactory() {
+    protected ChannelPipelineFactory createPipelineFactory(final ChannelGroup group) {
         return new ChannelPipelineFactory() {
+            private ChannelGroupHandler groupHandler = new ChannelGroupHandler(group);
 
             public ChannelPipeline getPipeline() throws Exception {
                 ChannelPipeline pipeline = pipeline();
+                pipeline.addLast("groupHandler", groupHandler);
+
                 pipeline.addLast("connectionLimit", new ConnectionLimitUpstreamHandler(NioImapServer.this.connectionLimit));
 
                 pipeline.addLast("connectionPerIpLimit", new ConnectionPerIpLimitUpstreamHandler(NioImapServer.this.connPerIP));

Modified: james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/NioPOP3Server.java
URL: http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/NioPOP3Server.java?rev=953134&r1=953133&r2=953134&view=diff
==============================================================================
--- james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/NioPOP3Server.java (original)
+++ james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/NioPOP3Server.java Wed Jun  9 19:56:44 2010
@@ -29,6 +29,7 @@ import org.apache.james.protocols.impl.A
 import org.apache.james.socket.netty.AbstractConfigurableAsyncServer;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
+import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;
 
 /**
@@ -108,15 +109,15 @@ public class NioPOP3Server extends Abstr
     }
 
     @Override
-    protected ChannelPipelineFactory createPipelineFactory() {
-        return new POP3ChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP);
+    protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
+        return new POP3ChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group);
     }
 
     private final class POP3ChannelPipelineFactory extends AbstractSSLAwareChannelPipelineFactory {
 
         public POP3ChannelPipelineFactory(int timeout, int maxConnections,
-                int maxConnectsPerIp) {
-            super(timeout, maxConnections, maxConnectsPerIp);
+                int maxConnectsPerIp, ChannelGroup group) {
+            super(timeout, maxConnections, maxConnectsPerIp, group);
         }
 
         @Override

Modified: james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/netty/NioRemoteManager.java
URL: http://svn.apache.org/viewvc/james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/netty/NioRemoteManager.java?rev=953134&r1=953133&r2=953134&view=diff
==============================================================================
--- james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/netty/NioRemoteManager.java (original)
+++ james/server/trunk/remotemanager/src/main/java/org/apache/james/remotemanager/netty/NioRemoteManager.java Wed Jun  9 19:56:44 2010
@@ -32,6 +32,7 @@ import org.apache.james.remotemanager.Re
 import org.apache.james.socket.netty.AbstractConfigurableAsyncServer;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
+import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;
 
 
@@ -108,15 +109,15 @@ public class NioRemoteManager extends Ab
     }
     
     @Override
-    protected ChannelPipelineFactory createPipelineFactory() {
-        return new RemoteManagerChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP);
+    protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
+        return new RemoteManagerChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group);
     }
     
     private final class RemoteManagerChannelPipelineFactory extends AbstractChannelPipelineFactory {
 
         public RemoteManagerChannelPipelineFactory(int timeout,
-                int maxConnections, int maxConnectsPerIp) {
-            super(timeout, maxConnections, maxConnectsPerIp);
+                int maxConnections, int maxConnectsPerIp, ChannelGroup group) {
+            super(timeout, maxConnections, maxConnectsPerIp, group);
         }
         @Override
         protected OneToOneEncoder createEncoder() {

Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java?rev=953134&r1=953133&r2=953134&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/NioSMTPServer.java Wed Jun  9 19:56:44 2010
@@ -30,6 +30,7 @@ import org.apache.james.protocols.smtp.S
 import org.apache.james.socket.netty.AbstractConfigurableAsyncServer;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
+import org.jboss.netty.channel.group.ChannelGroup;
 import org.jboss.netty.handler.codec.oneone.OneToOneEncoder;
 
 /**
@@ -273,16 +274,16 @@ public class NioSMTPServer extends Abstr
     }
     
     @Override
-    protected ChannelPipelineFactory createPipelineFactory() {
-        return new SMTPChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP);
+    protected ChannelPipelineFactory createPipelineFactory(ChannelGroup group) {
+        return new SMTPChannelPipelineFactory(getTimeout(), connectionLimit, connPerIP, group);
     }
     
     
     private final class SMTPChannelPipelineFactory extends AbstractSSLAwareChannelPipelineFactory {
 
         public SMTPChannelPipelineFactory(int timeout, int maxConnections,
-                int maxConnectsPerIp) {
-            super(timeout, maxConnections, maxConnectsPerIp);
+                int maxConnectsPerIp, ChannelGroup group) {
+            super(timeout, maxConnections, maxConnectsPerIp, group);
         }
 
         @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org