当客户端进程中嵌入了服务器代码时,我们的应用程序在客户端服务器模式和独立模式下运行。 在spring beans xml中我有计划任务,比如
<task:scheduled-tasks scheduler="myScheduler">
<task:scheduled ref="link-to-server" method="heartbeat" fixed-rate="1000"/>
</task:scheduled-tasks>
在独立模式下,应用程序未退出,因为调度程序线程不是守护程序线程。如何阻止它们或制作这些线程守护进程?
谢谢!
答案 0 :(得分:0)
不要让它们成为守护进程,这会使线程过于突然,因此会使进程处于不一致状态。我相信Spring上下文的标准关闭,以及调度程序,只需interrupts所有正在运行的线程。您应该在任务中轮询Thread.currentThread().isInterrupted以确定关闭。阻止Object.wait()等方法会在中断时抛出InterruptedException
。