You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2012/08/16 22:15:28 UTC

svn commit: r1374032 - in /tomcat/trunk/java/org/apache/coyote: AbstractProcessor.java AbstractProtocol.java AsyncStateMachine.java LocalStrings.properties Request.java RequestGroupInfo.java RequestInfo.java

Author: markt
Date: Thu Aug 16 20:15:28 2012
New Revision: 1374032

URL: http://svn.apache.org/viewvc?rev=1374032&view=rev
Log:
Code clean-up
 - Java 7 <>
 - UCDetector use of final
 - Make use of unused fields where appropriate

Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
    tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
    tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
    tomcat/trunk/java/org/apache/coyote/LocalStrings.properties
    tomcat/trunk/java/org/apache/coyote/Request.java
    tomcat/trunk/java/org/apache/coyote/RequestGroupInfo.java
    tomcat/trunk/java/org/apache/coyote/RequestInfo.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProcessor.java Thu Aug 16 20:15:28 2012
@@ -32,10 +32,10 @@ import org.apache.tomcat.util.net.Socket
 public abstract class AbstractProcessor<S> implements ActionHook, Processor<S> {
 
     protected Adapter adapter;
-    protected AsyncStateMachine<S> asyncStateMachine;
-    protected AbstractEndpoint endpoint;
-    protected Request request;
-    protected Response response;
+    protected final AsyncStateMachine<S> asyncStateMachine;
+    protected final AbstractEndpoint endpoint;
+    protected final Request request;
+    protected final Response response;
 
 
     /**
@@ -43,12 +43,15 @@ public abstract class AbstractProcessor<
      * initialise the request, response, etc.
      */
     protected AbstractProcessor() {
-        // NOOP
+        asyncStateMachine = null;
+        endpoint = null;
+        request = null;
+        response = null;
     }
 
     public AbstractProcessor(AbstractEndpoint endpoint) {
         this.endpoint = endpoint;
-        asyncStateMachine = new AsyncStateMachine<S>(this);
+        asyncStateMachine = new AsyncStateMachine<>(this);
 
         request = new Request();
 

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Thu Aug 16 20:15:28 2012
@@ -24,7 +24,9 @@ import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 
+import javax.management.InstanceNotFoundException;
 import javax.management.MBeanRegistration;
+import javax.management.MBeanRegistrationException;
 import javax.management.MBeanServer;
 import javax.management.MalformedObjectNameException;
 import javax.management.ObjectName;
@@ -508,7 +510,19 @@ public abstract class AbstractProtocol i
         }
 
         if (oname != null) {
-            Registry.getRegistry(null, null).unregisterComponent(oname);
+            if (mserver == null) {
+                Registry.getRegistry(null, null).unregisterComponent(oname);
+            } else {
+                // Possibly registered with a different MBeanServer
+                try {
+                    mserver.unregisterMBean(oname);
+                } catch (MBeanRegistrationException |
+                        InstanceNotFoundException e) {
+                    getLog().info(sm.getString(
+                            "abstractProtocol.mbeanDeregistrationFailed",
+                            oname, mserver));
+                }
+            }
         }
 
         if (tpOname != null)
@@ -525,14 +539,14 @@ public abstract class AbstractProtocol i
 
         protected abstract Log getLog();
 
-        protected RequestGroupInfo global = new RequestGroupInfo();
-        protected AtomicLong registerCount = new AtomicLong(0);
+        protected final RequestGroupInfo global = new RequestGroupInfo();
+        protected final AtomicLong registerCount = new AtomicLong(0);
 
-        protected ConcurrentHashMap<S,Processor<S>> connections =
-            new ConcurrentHashMap<S,Processor<S>>();
+        protected final ConcurrentHashMap<S,Processor<S>> connections =
+                new ConcurrentHashMap<>();
 
-        protected RecycledProcessors<P,S> recycledProcessors =
-            new RecycledProcessors<P,S>(this);
+        protected final RecycledProcessors<P,S> recycledProcessors =
+                new RecycledProcessors<>(this);
 
 
         protected abstract AbstractProtocol getProtocol();
@@ -721,8 +735,8 @@ public abstract class AbstractProtocol i
             extends ConcurrentLinkedQueue<Processor<S>> {
 
         private static final long serialVersionUID = 1L;
-        private transient AbstractConnectionHandler<S,P> handler;
-        protected AtomicInteger size = new AtomicInteger(0);
+        private final transient AbstractConnectionHandler<S,P> handler;
+        protected final AtomicInteger size = new AtomicInteger(0);
 
         public RecycledProcessors(AbstractConnectionHandler<S,P> handler) {
             this.handler = handler;

Modified: tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AsyncStateMachine.java Thu Aug 16 20:15:28 2012
@@ -137,7 +137,7 @@ public class AsyncStateMachine<S> {
     private volatile AsyncState state = AsyncState.DISPATCHED;
     // Need this to fire listener on complete
     private AsyncContextCallback asyncCtxt = null;
-    private Processor<S> processor;
+    private final Processor<S> processor;
 
 
     public AsyncStateMachine(Processor<S> processor) {

Modified: tomcat/trunk/java/org/apache/coyote/LocalStrings.properties
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/LocalStrings.properties?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/LocalStrings.properties (original)
+++ tomcat/trunk/java/org/apache/coyote/LocalStrings.properties Thu Aug 16 20:15:28 2012
@@ -16,6 +16,8 @@ abstractConnectionHandler.error=Error re
 abstractConnectionHandler.ioexception.debug=IOExceptions are normal, ignored
 abstractConnectionHandler.socketexception.debug=SocketExceptions are normal, ignored
 
+abstractProtocol.mbeanDeregistrationFailed=Failed to deregister MBean named [{0}] from MBean server [{1}]
+
 abstractProtocolHandler.getAttribute=Get attribute [{0}] with value [{1}]
 abstractProtocolHandler.setAttribute=Set attribute [{0}] with value [{1}]
 abstractProtocolHandler.init=Initializing ProtocolHandler [{0}]

Modified: tomcat/trunk/java/org/apache/coyote/Request.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Request.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Request.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Request.java Thu Aug 16 20:15:28 2012
@@ -128,7 +128,7 @@ public final class Request {
 
     private final MessageBytes remoteUser=MessageBytes.newInstance();
     private final MessageBytes authType=MessageBytes.newInstance();
-    private final HashMap<String,Object> attributes=new HashMap<String,Object>();
+    private final HashMap<String,Object> attributes=new HashMap<>();
 
     private Response response;
     private ActionHook hook;

Modified: tomcat/trunk/java/org/apache/coyote/RequestGroupInfo.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/RequestGroupInfo.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/RequestGroupInfo.java (original)
+++ tomcat/trunk/java/org/apache/coyote/RequestGroupInfo.java Thu Aug 16 20:15:28 2012
@@ -24,7 +24,7 @@ import java.util.ArrayList;
  *  collected from each RequestProcessor thread.
  */
 public class RequestGroupInfo {
-    ArrayList<RequestInfo> processors=new ArrayList<RequestInfo>();
+    private final ArrayList<RequestInfo> processors = new ArrayList<>();
     private long deadMaxTime = 0;
     private long deadProcessingTime = 0;
     private int deadRequestCount = 0;

Modified: tomcat/trunk/java/org/apache/coyote/RequestInfo.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/RequestInfo.java?rev=1374032&r1=1374031&r2=1374032&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/RequestInfo.java (original)
+++ tomcat/trunk/java/org/apache/coyote/RequestInfo.java Thu Aug 16 20:15:28 2012
@@ -35,7 +35,7 @@ import javax.management.ObjectName;
  * @author Costin Manolache
  */
 public class RequestInfo  {
-    RequestGroupInfo global=null;
+    private RequestGroupInfo global=null;
 
     // ----------------------------------------------------------- Constructors
 
@@ -61,10 +61,10 @@ public class RequestInfo  {
 
 
     // ----------------------------------------------------- Instance Variables
-    Request req;
-    int stage = Constants.STAGE_NEW;
-    String workerThreadName;
-    ObjectName rpName;
+    private final Request req;
+    private int stage = Constants.STAGE_NEW;
+    private String workerThreadName;
+    private ObjectName rpName;
 
     // -------------------- Information about the current request  -----------
     // This is useful for long-running requests only



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