重命名tomcat http线程

Ayu*_*man 4 tomcat tomcat6

是否可以让 Tomcat 将其创建的用于服务 http 请求的线程重命名为与 http-8080-4 等相比有意义的名称。

即,不要仅将线程命名为“http-8080-4”,而是将线程命名为请求的 URL,后跟一些计数器等,例如“/xyz_app/resource_name~1”等。

我之所以试图找到这样的东西,是因为当您查看探查器/监控工具(例如 jvisualvm)时,线程名称“http-8080-4”并没有提供很多详细信息。

在tomcat中也可以吗?

pd4*_*d40 5

您可以尝试在conf/server.xml中激活Executor,它提供了线程名称前缀。

<Executor name="tomcatThreadPool" namePrefix="xyz_app/resource_name" 
    maxThreads="150" minSpareThreads="4"/>
Run Code Online (Sandbox Code Playgroud)

然后更改您的连接器以使用此执行器

<Connector executor="tomcatThreadPool"
           port="8080" protocol="HTTP/1.1" 
           connectionTimeout="20000" 
           redirectPort="8443" />
Run Code Online (Sandbox Code Playgroud)

这并不适用于所有线程,但应该有助于识别正在处理您的请求的线程。