繁体   English   中英

停止<task:scheduler>任务</task:scheduler>

[英]Stopping <task:scheduler> tasks

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

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

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

谢谢!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM