You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2007/04/08 19:02:12 UTC

svn commit: r526576 - in /tomcat/tc6.0.x/trunk/java/org/apache: catalina/connector/CoyoteAdapter.java coyote/RequestInfo.java

Author: fhanik
Date: Sun Apr  8 10:02:12 2007
New Revision: 526576

URL: http://svn.apache.org/viewvc?view=rev&rev=526576
Log:
Forward port from 5.5, expose what thread is currently executing a request to JMX 

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/RequestInfo.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?view=diff&rev=526576&r1=526575&r2=526576
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Sun Apr  8 10:02:12 2007
@@ -151,6 +151,8 @@
                         request.getEvent().setEventSubType(CometEvent.EventSubType.TIMEOUT);
                     }
                 }
+
+                req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
                 
                 // Calling the container
                 connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
@@ -176,6 +178,7 @@
                 // a cleanup event of some sort could be needed ?
                 return false;
             } finally {
+                req.getRequestProcessor().setWorkerThreadName(null);
                 // Recycle the wrapper request and response
                 if (error || response.isClosed() || !request.isComet()) {
                     request.recycle();
@@ -232,8 +235,8 @@
 
             // Parse and set Catalina and configuration specific 
             // request parameters
+            req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
             if (postParseRequest(req, request, res, response)) {
-
                 // Calling the container
                 connector.getContainer().getPipeline().getFirst().invoke(request, response);
 
@@ -260,6 +263,7 @@
         } catch (Throwable t) {
             log.error(sm.getString("coyoteAdapter.service"), t);
         } finally {
+            req.getRequestProcessor().setWorkerThreadName(null);
             // Recycle the wrapper request and response
             if (!comet) {
                 request.recycle();

Modified: tomcat/tc6.0.x/trunk/java/org/apache/coyote/RequestInfo.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/RequestInfo.java?view=diff&rev=526576&r1=526575&r2=526576
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/RequestInfo.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/RequestInfo.java Sun Apr  8 10:02:12 2007
@@ -62,6 +62,7 @@
     Request req;
     Response res;
     int stage = Constants.STAGE_NEW;
+    String workerThreadName;
 
     // -------------------- Information about the current request  -----------
     // This is usefull for long-running requests only
@@ -212,5 +213,11 @@
         this.errorCount = errorCount;
     }
 
+    public String getWorkerThreadName() {
+        return workerThreadName;
+    }
 
+    public void setWorkerThreadName(String workerThreadName) {
+        this.workerThreadName = workerThreadName;
+    }
 }



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