request.getEvent().setEventSubType(CometEvent.EventSubType.TIMEOUT);
}
}
+
+ req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
// Calling the container
connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent());
// 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();
// 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);
} 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();
Request req;
Response res;
int stage = Constants.STAGE_NEW;
+ String workerThreadName;
// -------------------- Information about the current request -----------
// This is usefull for long-running requests only
this.errorCount = errorCount;
}
+ public String getWorkerThreadName() {
+ return workerThreadName;
+ }
+ public void setWorkerThreadName(String workerThreadName) {
+ this.workerThreadName = workerThreadName;
+ }
}