在Tomcat中使用ExecutorService / Futures?

mck*_*mey 5 java tomcat future executorservice

我有一个可能长达100ms的任务,我想在开始处理请求时就开始,并在以后需要时获取结果。我不想以此数量来阻止和扩展每个请求。

在普通的Java应用程序中,我将创建一个,ExecutorServiceCallable<T>使用将其作为来运行,Future<T>以便稍后获得结果。

由于Tomcat维护自己的线程池,我是否应该尝试与之协调?换句话说,我的ExecutorService池是否与Tomcat的线程竞争?这是问题吗?以某种方式背负到Tomcat的池是否有优势?

来自具有类似经验的人的任何建议将不胜感激。另外,我现在对添加其他依赖项(例如Spring等)不感兴趣。

jde*_*lop 4

我应该尝试与之协调吗?

不,Tomcat 池专用于 Tomcat

换句话说,我的 ExecutorService 池是否与 Tomcat 的线程竞争?

一点也不。这是你的泳池。

这是一个问题吗?以某种方式搭载 Tomcat 池是否有优势?

只要自定义应用程序池不产生数百万个线程,维护它就没有问题。只需确保为线程提供守护进程状态,这样 Tomcat 关闭脚本就不会抱怨“无法停止 Tomcat”