停止<task:scheduler> tasks </task:scheduler>

时间:2011-08-11 10:50:46

标签: java spring scheduled-tasks

当客户端进程中嵌入了服务器代码时,我们的应用程序在客户端服务器模式和独立模式下运行。 在spring beans xml中我有计划任务,比如

<task:scheduled-tasks scheduler="myScheduler">
        <task:scheduled ref="link-to-server" method="heartbeat" fixed-rate="1000"/>
</task:scheduled-tasks>

在独立模式下,应用程序未退出,因为调度程序线程不是守护程序线程。如何阻止它们或制作这些线程守护进程?

谢谢!

1 个答案:

答案 0 :(得分:0)

不要让它们成为守护进程,这会使线程过于突然,因此会使进程处于不一致状态。我相信Spring上下文的标准关闭,以及调度程序,只需interrupts所有正在运行的线程。您应该在任务中轮询Thread.currentThread().isInterrupted以确定关闭。阻止Object.wait()等方法会在中断时抛出InterruptedException