java - tomcat后台线程

标签 java tomcat tomcat6 background-process

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

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

应用程序是用 ICEfaces 编写的。

谢谢。

最佳答案

  1. 在 Controller /servlet 的初始化方法中使用 java.util.concurrent.Executors.newCachedThreadPool(或其他工厂方法之一)创建一个 Executor
  2. 当收到请求时,将邮件发送逻辑包装在 java.lang.Runnable
  3. Runnable提交给Executor

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

关于java - tomcat后台线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1194315/

相关文章:

java - JSP:我正在做一个应用程序,我必须在其中下载ppt文件

java - 自定义 IntelliJ 的名称建议

java - Java 的 Enum 声明的含义是什么?

javascript - 查询字符串总是在服务器端返回 NULL

java - JSP 有命令行 shell 吗?就像 php cli 程序一样

java - Spring @Async 执行器

windows - 如何将基本 url 重定向到 html

log4j - 在 tomcat jruby-rack 上使用 log4j 记录 Rails 3 应用程序

java - 如何将外部属性文件位置添加到部署到 tomcat 6 的 Spring Boot 应用程序?

ssl - Nexus 终止从 apache 到 tomcat 的转发