用户在Web应用程序中启动后台进程

时间:2009-10-08 15:11:38

标签: java spring tomcat multithreading background

我在Tomcat上使用Spring连接了一个java Web应用程序。

我需要一种方法让用户在服务器中启动后台进程并向用户返回响应,而无需等待后台进程完成。

后台进程在java中编程并与我的应用程序集成。

因为我使用的是tomcat JMS不是一个选项。为了便于携带,我宁愿不必自定义我的tomcat安装。

我可以使用Quartz或类似的,并定期检查该过程是否应该运行,但我更喜欢立即启动的东西。

我尝试生成一个新线程,但它不知道我的Spring bean。

最好的方法是什么?

由于

最高

3 个答案:

答案 0 :(得分:5)

Spring为这类东西提供了TaskExecutor抽象,它有十几个不同的实现供您选择(ThreadPoolTaskExecutor可能就是你想要的)。您可以正确使用它,以便任务在运行时可以访问Spring上下文。

答案 1 :(得分:0)

对于 Ajax 请求来说,这听起来很典型。 : - )

您的浏览器不会等待结果......

答案 2 :(得分:-2)

你可以发一个普通的旧Java线程。