Return-Path: Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: (qmail 6904 invoked from network); 6 Dec 2010 23:23:10 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 6 Dec 2010 23:23:10 -0000 Received: (qmail 96081 invoked by uid 500); 6 Dec 2010 23:23:10 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 96019 invoked by uid 500); 6 Dec 2010 23:23:10 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 96010 invoked by uid 99); 6 Dec 2010 23:23:10 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Dec 2010 23:23:10 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 06 Dec 2010 23:23:06 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id F0EB12388A39; Mon, 6 Dec 2010 23:22:44 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1042850 - in /tomcat/trunk/java/org/apache: coyote/ coyote/ajp/ coyote/http11/ tomcat/util/net/ Date: Mon, 06 Dec 2010 23:22:44 -0000 To: dev@tomcat.apache.org From: markt@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101206232244.F0EB12388A39@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: markt Date: Mon Dec 6 23:22:44 2010 New Revision: 1042850 URL: http://svn.apache.org/viewvc?rev=1042850&view=rev Log: Re-factoring in support of https://issues.apache.org/bugzilla/show_bug.cgi?id=50360 Add the necessary plumbing for the AbstractProtocolHandler to perform the JMX registration Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocolHandler.java tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocolHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocolHandler.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/AbstractProtocolHandler.java (original) +++ tomcat/trunk/java/org/apache/coyote/AbstractProtocolHandler.java Mon Dec 6 23:22:44 2010 @@ -27,6 +27,7 @@ import javax.management.ObjectName; import org.apache.juli.logging.Log; import org.apache.tomcat.util.net.AbstractEndpoint; +import org.apache.tomcat.util.net.AbstractEndpoint.Handler; import org.apache.tomcat.util.res.StringManager; public abstract class AbstractProtocolHandler implements ProtocolHandler, @@ -288,6 +289,12 @@ public abstract class AbstractProtocolHa protected abstract String getNamePrefix(); + /** + * Obtain the handler associated with the underlying Endpoint + */ + protected abstract Handler getHandler(); + + // ----------------------------------------------------- JMX related methods protected String domain; Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpAprProtocol.java Mon Dec 6 23:22:44 2010 @@ -30,6 +30,7 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.AprEndpoint; import org.apache.tomcat.util.net.AprEndpoint.Handler; import org.apache.tomcat.util.net.SocketStatus; @@ -52,6 +53,13 @@ public class AjpAprProtocol extends Abst @Override protected Log getLog() { return log; } + + @Override + protected AbstractEndpoint.Handler getHandler() { + return cHandler; + } + + // ------------------------------------------------------------ Constructor @@ -143,6 +151,10 @@ public class AjpAprProtocol extends Abst protected AjpAprProtocol proto; protected AtomicLong registerCount = new AtomicLong(0); protected RequestGroupInfo global = new RequestGroupInfo(); + @Override + public RequestGroupInfo getGlobal() { + return global; + } protected ConcurrentHashMap, AjpAprProcessor> connections = new ConcurrentHashMap, AjpAprProcessor>(); Modified: tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/ajp/AjpProtocol.java Mon Dec 6 23:22:44 2010 @@ -31,7 +31,7 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; -import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.JIoEndpoint; import org.apache.tomcat.util.net.JIoEndpoint.Handler; import org.apache.tomcat.util.net.SocketStatus; @@ -54,6 +54,13 @@ public class AjpProtocol extends Abstrac @Override protected Log getLog() { return log; } + + @Override + protected AbstractEndpoint.Handler getHandler() { + return cHandler; + } + + // ------------------------------------------------------------ Constructor @@ -133,6 +140,11 @@ public class AjpProtocol extends Abstrac protected AjpProtocol proto; protected AtomicLong registerCount = new AtomicLong(0); protected RequestGroupInfo global = new RequestGroupInfo(); + @Override + public RequestGroupInfo getGlobal() { + return global; + } + protected ConcurrentHashMap, AjpProcessor> connections = new ConcurrentHashMap, AjpProcessor>(); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProtocol.java Mon Dec 6 23:22:44 2010 @@ -32,6 +32,7 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.AprEndpoint; import org.apache.tomcat.util.net.AprEndpoint.Handler; import org.apache.tomcat.util.net.SocketStatus; @@ -51,9 +52,17 @@ public class Http11AprProtocol extends A private static final Log log = LogFactory.getLog(Http11AprProtocol.class); + @Override protected Log getLog() { return log; } + + @Override + protected AbstractEndpoint.Handler getHandler() { + return cHandler; + } + + /** * The string manager for this package. */ @@ -236,6 +245,10 @@ public class Http11AprProtocol extends A protected Http11AprProtocol proto; protected AtomicLong registerCount = new AtomicLong(0); protected RequestGroupInfo global = new RequestGroupInfo(); + @Override + public RequestGroupInfo getGlobal() { + return global; + } protected ConcurrentHashMap, Http11AprProcessor> connections = new ConcurrentHashMap, Http11AprProcessor>(); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProtocol.java Mon Dec 6 23:22:44 2010 @@ -33,6 +33,7 @@ import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.NioChannel; import org.apache.tomcat.util.net.NioEndpoint; import org.apache.tomcat.util.net.NioEndpoint.Handler; @@ -53,10 +54,18 @@ import org.apache.tomcat.util.net.jsse.J public class Http11NioProtocol extends AbstractHttp11JsseProtocol { private static final Log log = LogFactory.getLog(Http11NioProtocol.class); - + + @Override protected Log getLog() { return log; } + + @Override + protected AbstractEndpoint.Handler getHandler() { + return cHandler; + } + + public Http11NioProtocol() { endpoint=new NioEndpoint(); cHandler = new Http11ConnectionHandler( this ); @@ -198,6 +207,10 @@ public class Http11NioProtocol extends A protected Http11NioProtocol proto; protected static int count = 0; protected RequestGroupInfo global = new RequestGroupInfo(); + @Override + public RequestGroupInfo getGlobal() { + return global; + } protected ConcurrentHashMap connections = new ConcurrentHashMap(); Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11Protocol.java Mon Dec 6 23:22:44 2010 @@ -33,7 +33,7 @@ import org.apache.coyote.RequestInfo; import org.apache.juli.logging.Log; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.modeler.Registry; -import org.apache.tomcat.util.net.AbstractEndpoint.Handler.SocketState; +import org.apache.tomcat.util.net.AbstractEndpoint; import org.apache.tomcat.util.net.JIoEndpoint; import org.apache.tomcat.util.net.JIoEndpoint.Handler; import org.apache.tomcat.util.net.SSLImplementation; @@ -60,6 +60,12 @@ public class Http11Protocol extends Abst protected Log getLog() { return log; } + @Override + protected AbstractEndpoint.Handler getHandler() { + return cHandler; + } + + // ------------------------------------------------------------ Constructor @@ -185,6 +191,11 @@ public class Http11Protocol extends Abst protected Http11Protocol proto; protected AtomicLong registerCount = new AtomicLong(0); protected RequestGroupInfo global = new RequestGroupInfo(); + @Override + public RequestGroupInfo getGlobal() { + return global; + } + protected ConcurrentHashMap, Http11Processor> connections = new ConcurrentHashMap, Http11Processor>(); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractEndpoint.java Mon Dec 6 23:22:44 2010 @@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit; import javax.net.ssl.KeyManagerFactory; import org.apache.catalina.Globals; +import org.apache.coyote.RequestGroupInfo; import org.apache.juli.logging.Log; import org.apache.tomcat.util.IntrospectionUtils; import org.apache.tomcat.util.net.jsse.JSSESocketFactory; @@ -73,13 +74,19 @@ public abstract class AbstractEndpoint { */ public static final String SESSION_MGR = "javax.servlet.request.ssl_session_mgr"; - /** - * Different types of socket states to react upon - */ public static interface Handler { + /** + * Different types of socket states to react upon + */ public enum SocketState { OPEN, CLOSED, LONG, ASYNC_END } + + + /** + * Obtain the GlobalRequestProcessor associated with the handler + */ + public RequestGroupInfo getGlobal(); } // Standard SSL Configuration attributes Modified: tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java?rev=1042850&r1=1042849&r2=1042850&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/JIoEndpoint.java Mon Dec 6 23:22:44 2010 @@ -117,7 +117,7 @@ public class JIoEndpoint extends Abstrac * stored in the ThreadWithAttributes extra folders, or alternately in * thread local fields. */ - public interface Handler { + public interface Handler extends AbstractEndpoint.Handler { public SocketState process(SocketWrapper socket); public SocketState process(SocketWrapper socket, SocketStatus status); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org For additional commands, e-mail: dev-help@tomcat.apache.org