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 2019/07/24 14:51:26 UTC
[tomcat] 06/11: Back-port performance improvement for setting
current thread name
This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 7.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 4e88cfc6b868f2af5d84b6ef9e76f74b4b1d754d
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Wed Jul 24 10:59:52 2019 +0100
Back-port performance improvement for setting current thread name
---
java/org/apache/catalina/connector/CoyoteAdapter.java | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java
index 02e5fbf..5245e84 100644
--- a/java/org/apache/catalina/connector/CoyoteAdapter.java
+++ b/java/org/apache/catalina/connector/CoyoteAdapter.java
@@ -81,6 +81,16 @@ public class CoyoteAdapter implements Adapter {
Boolean.parseBoolean(System.getProperty("org.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH", "false"));
+ private static final ThreadLocal<String> THREAD_NAME =
+ new ThreadLocal<String>() {
+
+ @Override
+ protected String initialValue() {
+ return Thread.currentThread().getName();
+ }
+
+ };
+
// ----------------------------------------------------------- Constructors
@@ -273,7 +283,7 @@ public class CoyoteAdapter implements Adapter {
boolean success = true;
AsyncContextImpl asyncConImpl = request.getAsyncContextInternal();
- req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
+ req.getRequestProcessor().setWorkerThreadName(THREAD_NAME.get());
try {
if (!request.isAsync() && !comet) {
@@ -428,10 +438,11 @@ public class CoyoteAdapter implements Adapter {
boolean async = false;
boolean postParseSuccess = false;
+ req.getRequestProcessor().setWorkerThreadName(THREAD_NAME.get());
+
try {
// Parse and set Catalina and configuration specific
// request parameters
- req.getRequestProcessor().setWorkerThreadName(Thread.currentThread().getName());
postParseSuccess = postParseRequest(req, request, res, response);
if (postParseSuccess) {
//check valves if we support async
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org