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