gpt4 book ai didi

java - 停止 <任务 :scheduler> tasks

转载 作者:行者123 更新时间:2023-12-03 18:20:48 28 4
gpt4 key购买 nike

当服务器代码嵌入到客户端进程中时,我们的应用程序既可以在客户端服务器模式下运行,也可以在独立模式下运行。在 spring beans xml 中,我有预定的任务,比如

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

在独立模式下,应用程序不会退出,因为调度程序线程不是守护线程。我怎样才能停止它们或使这些线程成为守护进程?

谢谢!

最佳答案

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

关于java - 停止 <任务 :scheduler> tasks,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024571/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com