From: fhanik Date: Sun, 8 Apr 2007 17:02:12 +0000 (+0000) Subject: Forward port from 5.5, expose what thread is currently executing a request to JMX X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=c20d1643048e8175d38f1601cadd7c0d68a35cf8;p=tomcat7.0 Forward port from 5.5, expose what thread is currently executing a request to JMX git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@526576 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java index 9a7dd7005..a07a087fc 100644 --- a/java/org/apache/catalina/connector/CoyoteAdapter.java +++ b/java/org/apache/catalina/connector/CoyoteAdapter.java @@ -151,6 +151,8 @@ public class CoyoteAdapter 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 @@ public class CoyoteAdapter // 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 @@ public class CoyoteAdapter // 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 @@ public class CoyoteAdapter } 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(); diff --git a/java/org/apache/coyote/RequestInfo.java b/java/org/apache/coyote/RequestInfo.java index 94cbf5124..25956d9a4 100644 --- a/java/org/apache/coyote/RequestInfo.java +++ b/java/org/apache/coyote/RequestInfo.java @@ -62,6 +62,7 @@ public class RequestInfo { 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 @@ public class RequestInfo { this.errorCount = errorCount; } + public String getWorkerThreadName() { + return workerThreadName; + } + public void setWorkerThreadName(String workerThreadName) { + this.workerThreadName = workerThreadName; + } }