【发布时间】:2012-05-27 03:24:33
【问题描述】:
我正在使用 tomcat7 运行 java 应用程序。 我需要存储每个 tomcat 线程的信息,所以我可以使用 ThreadLocals 方法。
在我的 server.xml 中,线程池定义如下所示:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
maxThreads="10000" minSpareThreads="2000"/>
我有一个类 EnhanceThread
public class EnhanceThread extends Thread {
...
@Override
public void run() {
SomeThreadLocals.set(data);
super.run();
}
}
如何覆盖 tomcat 线程池定义并让它使用我的类? 有没有更好的方法来威胁这个问题?
【问题讨论】:
-
数据从何而来。如果所有线程都有相同的数据,那有什么意义呢?你应该告诉我们更多关于你的最终目标。你在本地线程中放了什么?
-
我确信一切皆有可能,但可能存在更简单的解决方案。你能解释一下你想解决什么问题吗?
-
我想在每个线程的线程本地有一个 json 序列化程序以提高性能 - 不是每个请求都创建它,也不是让它成为一个集中的对象
-
您如何确定存在性能问题?
标签: java tomcat threadpool