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]