我有一个 tomcat 6.20 实例正在运行,并且想通过后台线程发送电子邮件,以防止电子邮件发送功能阻塞请求。
有什么方法可以在后台执行线程,同时仍然允许正常的页面流发生。
应用程序是用 ICEfaces 编写的。
谢谢。
最佳答案
- 在 Controller /servlet 的初始化方法中使用
java.util.concurrent.Executors.newCachedThreadPool
(或其他工厂方法之一)创建一个Executor
。 - 当收到请求时,将邮件发送逻辑包装在
java.lang.Runnable
中
- 将
Runnable
提交给Executor
这将在后台执行发送。记住在启动时创建一个单独的执行器,并在所有请求之间共享;不要每次都创建一个新的 Executor(你可以,但这会有点慢和浪费)。
关于java - tomcat后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194315/