在Tomcat中使用ExecutorService / Futures?

时间:2013-07-12 21:22:37

标签: java tomcat executorservice future

我有一个任务可能持续100毫秒,我想在处理请求开始时启动,并在以后需要时抓取结果。我不希望以此数量阻止和扩展每个请求。

在一个vanilla Java应用程序中,我创建一个ExecutorService并使用Callable<T>将其作为Future<T>运行,以便稍后获得结果。

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

任何有类似经历的人的建议都会受到赞赏。此外,我对添加Spring等其他依赖项不感兴趣。

1 个答案:

答案 0 :(得分:3)

  

我应该尝试与之协调吗?

不,Tomcat池专用于Tomcat

  

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

完全没有。这是你的游泳池。

  

这是一个问题吗?以某种方式捎带到Tomcat的游泳池是否有优势?

一旦不生成数百万个线程,维护自定义应用程序池就没有问题。只需确保提供具有守护程序状态的线程,以便tomcat关闭脚本不会抱怨'无法阻止Tomcat'