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

max*_*mil 1 java spring multithreading tomcat background

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

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

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

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

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

我试过产生一个新的线程,但它不知道我的Spring bean.

最好的方法是什么?

谢谢

马克斯

ska*_*man 5

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