[英]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.