Author: norman
Date: Sat Jan  8 20:22:13 2011
New Revision: 1056791

URL: http://svn.apache.org/viewvc?rev=1056791&view=rev
Log:
Add connection stats till startup to jmx

Modified:
    
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
    
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
    
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/jmx/ServerMBean.java
    
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/AbstractConfigurableAsyncServer.java
    
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/ConnectionCountHandler.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java

Modified: 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
 (original)
+++ 
james/server/trunk/imapserver/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
 Sat Jan  8 20:22:13 2011
@@ -33,7 +33,6 @@ import org.apache.james.imap.main.ImapRe
 import org.apache.james.protocols.impl.ChannelGroupHandler;
 import org.apache.james.protocols.impl.TimeoutHandler;
 import org.apache.james.server.netty.AbstractConfigurableAsyncServer;
-import org.apache.james.server.netty.ConnectionCountHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.group.ChannelGroup;
@@ -49,7 +48,6 @@ import org.jboss.netty.util.HashedWheelT
 public class IMAPServer extends AbstractConfigurableAsyncServer implements 
ImapConstants, IMAPServerMBean {
 
     private static final String softwaretype = "JAMES "+VERSION+" Server ";
-    private final ConnectionCountHandler countHandler = new 
ConnectionCountHandler();
     
     private String hello;
     private ImapProcessor processor;
@@ -121,7 +119,7 @@ public class IMAPServer extends Abstract
                     pipeline.addFirst("sslHandler", new SslHandler(engine));
                     
                 }
-                pipeline.addLast("connectionCountHandler", countHandler);
+                pipeline.addLast("connectionCountHandler", 
getConnectionCountHandler());
                 
                 final ImapRequestStreamHandler handler = new 
ImapRequestStreamHandler(decoder, processor, encoder);
                 
@@ -137,32 +135,6 @@ public class IMAPServer extends Abstract
         };
     }
 
-    /*
-     * (non-Javadoc)
-     * @see org.apache.james.socket.ServerMBean#getCurrentConnections()
-     */
-       public int getCurrentConnections() {
-               return countHandler.getCurrentConnectionCount();
-       }
-
-
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.imapserver.IMAPServerMBean#getStartTLSSupported()
-        */
-       public boolean getStartTLSSupported() {
-               return isStartTLSSupported();
-       }
-       
-
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.socket.ServerMBean#getMaximumConcurrentConnections()
-        */
-       public int getMaximumConcurrentConnections() {
-               return connectionLimit;
-       }
-
     @Override
     protected String getDefaultJMXName() {
         return "imapserver";

Modified: 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
 (original)
+++ 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
 Sat Jan  8 20:22:13 2011
@@ -29,7 +29,6 @@ import org.apache.james.protocols.smtp.S
 import org.apache.james.smtpserver.netty.SMTPChannelUpstreamHandler;
 import org.apache.james.smtpserver.netty.SMTPResponseEncoder;
 import org.apache.james.server.netty.AbstractConfigurableAsyncServer;
-import org.apache.james.server.netty.ConnectionCountHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
@@ -45,9 +44,7 @@ public class LMTPServer extends Abstract
     private long maxMessageSize = 0;
     private ProtocolHandlerChain handlerChain;
     private LMTPConfiguration lmtpConfig = new LMTPConfiguration();
-    private String lmtpGreeting;
-    private final ConnectionCountHandler countHandler = new 
ConnectionCountHandler();
-    
+    private String lmtpGreeting;    
 
 
     @Resource(name="lmtphandlerchain")
@@ -172,7 +169,7 @@ public class LMTPServer extends Abstract
         @Override
         public ChannelPipeline getPipeline() throws Exception {
             ChannelPipeline pipeLine = super.getPipeline();
-            pipeLine.addBefore("coreHandler", "countHandler", countHandler);
+            pipeLine.addBefore("coreHandler", "countHandler", 
getConnectionCountHandler());
             return pipeLine;
         }
 
@@ -230,15 +227,6 @@ public class LMTPServer extends Abstract
     /*
      * (non-Javadoc)
      * 
-     * @see org.apache.james.socket.ServerMBean#getCurrentConnections()
-     */
-    public int getCurrentConnections() {
-        return countHandler.getCurrentConnectionCount();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
      * @see
      * org.apache.james.protocols.smtp.SMTPServerMBean#getNetworkInterface()
      */

Modified: 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/jmx/ServerMBean.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/nio-netty/src/main/java/org/apache/james/server/jmx/ServerMBean.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/jmx/ServerMBean.java
 (original)
+++ 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/jmx/ServerMBean.java
 Sat Jan  8 20:22:13 2011
@@ -38,6 +38,13 @@ public interface ServerMBean {
        public int getCurrentConnections();
        
        /**
+        * Return the count of handled connections till startup
+        * 
+        * @return handledConnections
+        */
+       public long getHandledConnections();
+       
+       /**
         * Return true if the server is enabled
         * 
         * @return isEnabled

Modified: 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/AbstractConfigurableAsyncServer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/AbstractConfigurableAsyncServer.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/AbstractConfigurableAsyncServer.java
 (original)
+++ 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/AbstractConfigurableAsyncServer.java
 Sat Jan  8 20:22:13 2011
@@ -107,6 +107,7 @@ public abstract class AbstractConfigurab
 
     private String[] enabledCipherSuites;
 
+    private ConnectionCountHandler countHandler = new ConnectionCountHandler();
     @Resource(name="dnsservice")
     public final void setDNSService(DNSService dns) {
         this.dns = dns;
@@ -518,4 +519,25 @@ public abstract class AbstractConfigurab
         return getIP();
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.server.jmx.ServerMBean#getHandledConnections()
+     */
+    public long getHandledConnections() {
+        return countHandler.getConnectionsTillStartup();
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.apache.james.socket.ServerMBean#getCurrentConnections()
+     */
+    public int getCurrentConnections() {
+        return countHandler.getCurrentConnectionCount();
+    }
+
+
+    
+    protected ConnectionCountHandler getConnectionCountHandler() {
+        return countHandler;
+    }
 }

Modified: 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/ConnectionCountHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/ConnectionCountHandler.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/ConnectionCountHandler.java
 (original)
+++ 
james/server/trunk/nio-netty/src/main/java/org/apache/james/server/netty/ConnectionCountHandler.java
 Sat Jan  8 20:22:13 2011
@@ -19,6 +19,7 @@
 package org.apache.james.server.netty;
 
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
 
 import org.jboss.netty.channel.ChannelHandlerContext;
 import org.jboss.netty.channel.ChannelStateEvent;
@@ -31,6 +32,7 @@ import org.jboss.netty.channel.SimpleCha
 public class ConnectionCountHandler extends SimpleChannelUpstreamHandler {
 
     public AtomicInteger currentConnectionCount = new AtomicInteger();
+    public AtomicLong connectionsTillStartup = new AtomicLong();
 
     @Override
     public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) 
throws Exception {
@@ -41,6 +43,7 @@ public class ConnectionCountHandler exte
     @Override
     public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) 
throws Exception {
         currentConnectionCount.incrementAndGet();
+        connectionsTillStartup.incrementAndGet();
         super.channelOpen(ctx, e);
     }
 
@@ -52,4 +55,8 @@ public class ConnectionCountHandler exte
     public int getCurrentConnectionCount() {
         return currentConnectionCount.get();
     }
+    
+    public long getConnectionsTillStartup() {
+        return connectionsTillStartup.get();
+    }
 }

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/POP3Server.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
 Sat Jan  8 20:22:13 2011
@@ -25,7 +25,6 @@ import org.apache.james.pop3server.POP3H
 import org.apache.james.protocols.api.ProtocolHandlerChain;
 import org.apache.james.protocols.impl.AbstractSSLAwareChannelPipelineFactory;
 import org.apache.james.server.netty.AbstractConfigurableAsyncServer;
-import org.apache.james.server.netty.ConnectionCountHandler;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
 import org.jboss.netty.channel.ChannelUpstreamHandler;
@@ -43,8 +42,6 @@ public class POP3Server extends Abstract
      * The configuration data to be passed to the handler
      */
     private POP3HandlerConfigurationData theConfigData = new 
POP3HandlerConfigurationDataImpl();
-
-    private final ConnectionCountHandler countHandler = new 
ConnectionCountHandler();
     
     private ProtocolHandlerChain handlerChain;
 
@@ -110,7 +107,7 @@ public class POP3Server extends Abstract
         @Override
         public ChannelPipeline getPipeline() throws Exception {
             ChannelPipeline pipeLine = super.getPipeline();
-            pipeLine.addBefore("coreHandler", "countHandler", countHandler);
+            pipeLine.addBefore("coreHandler", "countHandler", 
getConnectionCountHandler());
             return pipeLine;
         }
 
@@ -139,14 +136,6 @@ public class POP3Server extends Abstract
         
     }
 
-    /*
-     * (non-Javadoc)
-     * @see org.apache.james.socket.ServerMBean#getCurrentConnections()
-     */
-       public int getCurrentConnections() {
-               return countHandler.getCurrentConnectionCount();
-       }
-
     @Override
     protected String getDefaultJMXName() {
         return "pop3server";

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java?rev=1056791&r1=1056790&r2=1056791&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
 Sat Jan  8 20:22:13 2011
@@ -28,7 +28,6 @@ import org.apache.james.protocols.api.Pr
 import org.apache.james.protocols.impl.AbstractSSLAwareChannelPipelineFactory;
 import org.apache.james.protocols.smtp.SMTPConfiguration;
 import org.apache.james.server.netty.AbstractConfigurableAsyncServer;
-import org.apache.james.server.netty.ConnectionCountHandler;
 import org.apache.james.util.netmatcher.NetMatcher;
 import org.jboss.netty.channel.ChannelPipeline;
 import org.jboss.netty.channel.ChannelPipelineFactory;
@@ -97,9 +96,7 @@ public class SMTPServer extends Abstract
     private boolean addressBracketsEnforcement = true;
 
     private boolean verifyIdentity;
-    
-    private final ConnectionCountHandler countHandler = new 
ConnectionCountHandler();
-   
+       
 
     @Resource(name="smtphandlerchain")
     public void setProtocolHandlerChain(ProtocolHandlerChain handlerChain) {
@@ -305,7 +302,7 @@ public class SMTPServer extends Abstract
         @Override
                public ChannelPipeline getPipeline() throws Exception {
                        ChannelPipeline pipeline = super.getPipeline();
-                       pipeline.addBefore("coreHandler", "connectionCount", 
countHandler);
+                       pipeline.addBefore("coreHandler", "connectionCount", 
getConnectionCountHandler());
                        
                        return pipeline;
                }
@@ -335,56 +332,47 @@ public class SMTPServer extends Abstract
 
     /*
      * (non-Javadoc)
-     * @see org.apache.james.socket.ServerMBean#getCurrentConnections()
+     * 
+     * @see org.apache.james.smtpserver.SMTPServerMBean#getMaximalMessageSize()
      */
-       public int getCurrentConnections() {
-               return countHandler.getCurrentConnectionCount();
-       }
-
-
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.smtpserver.SMTPServerMBean#getMaximalMessageSize()
-        */
-       public long getMaximalMessageSize() {
-               return maxMessageSize;
-       }
-
-
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.smtpserver.SMTPServerMBean#getAddressBracketsEnforcement()
-        */
-       public boolean getAddressBracketsEnforcement() {
-               return addressBracketsEnforcement;
-       }
-
-
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.smtpserver.SMTPServerMBean#getHeloEhloEnforcement()
-        */
-       public boolean getHeloEhloEnforcement() {
-               return heloEhloEnforcement;
-       }
-
+    public long getMaximalMessageSize() {
+        return maxMessageSize;
+    }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * 
org.apache.james.smtpserver.SMTPServerMBean#getAddressBracketsEnforcement
+     * ()
+     */
+    public boolean getAddressBracketsEnforcement() {
+        return addressBracketsEnforcement;
+    }
 
-       /*
-        * (non-Javadoc)
-        * @see 
org.apache.james.protocols.smtp.SMTPServerMBean#getNetworkInterface()
-        */
-       public String getNetworkInterface() {
-               return "unknown";
-       }
+    /*
+     * (non-Javadoc)
+     * 
+     * @see 
org.apache.james.smtpserver.SMTPServerMBean#getHeloEhloEnforcement()
+     */
+    public boolean getHeloEhloEnforcement() {
+        return heloEhloEnforcement;
+    }
 
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * org.apache.james.protocols.smtp.SMTPServerMBean#getNetworkInterface()
+     */
+    public String getNetworkInterface() {
+        return "unknown";
+    }
 
     @Override
     protected String getDefaultJMXName() {
         return "smtpserver";
     }
-
-
    
 
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to