簡體   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