簡體   English   中英

Spring Task Scheduler多次運行單個任務

[英]Spring task scheduler runs a single task multiple times

我有一個調度程序,它使用Spring的任務名稱空間每分鍾運行一次。 根據文檔,它應使用緩存池中的線程之一運行一次,延遲1分鍾。 但是它在隨機的時間之后運行另一次時間,例如在與之前運行的線程不同的線程上運行5秒。 更不用說,一分鍾后它將運行應該運行的那一步。 但是這5秒不應該運行。 我在SO中看到過類似的問題,但是沒有報告的解決方案。 就我而言,它在我的本地環境中運行良好,並且此問題僅在開發環境中發生。 Spring功能有什么問題嗎?

<task:annotation-driven scheduler="myScheduler" />
<task:scheduler id="myScheduler" pool-size="10"/>
<task:scheduled-tasks scheduler="myScheduler">
    <task:scheduled ref="mySchedulerBean"
                    method="doSomething" fixed-delay="60000" />
</task:scheduled-tasks>

<bean id="mySchedulerBean" class="com.mycompany.app.tasks.SchedulerBean"/>

對於那些使用舊版spring的用戶,他們需要升級到至少3.2.2。 而且,如果仍然不能解決問題,則很可能會兩次部署上下文。 檢查應用程序服務器部署配置以解決該問題,或者在其他一些情況下,您可能正在基於注釋的計划,並且還正在使用任務xml名稱空間,則可以使用其中之一,但不能同時使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM