一尘不染

Tomcat的背景线程

tomcat

我有一个正在运行的tomcat 6.20实例,并且想通过后台线程发送电子邮件,以防止电子邮件发送功能阻止请求。

有什么办法可以在后台执行线程,同时仍然允许正常的页面流发生。

该应用程序是用ICEfaces编写的。

谢谢。


阅读 365

收藏
2020-06-16

共1个答案

一尘不染

  1. 在控制器/ Servlet的初始化方法中创建一个Executorusing java.util.concurrent.Executors.newCachedThreadPool(或其他工厂方法之一)。
  2. 收到请求后,将邮件发送逻辑包装在 java.lang.Runnable
  3. 提交RunnableExecutor

这将在后台执行发送。记住在启动时创建一个执行器,并在所有请求中共享;不要每次都创建一个新的Executor(您可以,但这会有点慢且浪费)。

2020-06-16