0
我試圖執行一個使用annotation @Scheduled和一個cron值的方法。 該方法執行但不尊重cron。Spring 3.1 @Scheduled隨機發射
這裏是我的課:我的applicationContext.xml的
@Component
public class Test {
private static final Logger LOGGER = LoggerFactory.getLogger(Test.class);
@Scheduled(cron = "*/10 * * * * *")
public void run() {
LOGGER.debug("run()");
}
}
部分:
<task:executor id="myExecutor" pool-size="5"/>
<task:scheduler id="myScheduler" pool-size="10"/>
<task:annotation-driven executor="myExecutor" scheduler="myScheduler"/>
<bean id="run" class="xxx.Test"></bean>
我使用Spring 3.1在我的XML彈簧任務3.1.xsd。
當我開始,我應該有每10秒一條線,我得到這個:
12/16 15:51:20,033 [---] [DEBUG] [Test:31] - run()
12/16 15:51:29,996 [---] [DEBUG] [Test:31] - run()
12/16 15:54:09,657 [---] [DEBUG] [Test:31] - run()
12/16 15:54:10,000 [---] [DEBUG] [Test:31] - run()
12/16 15:54:19,978 [---] [DEBUG] [Test:31] - run()
12/16 15:54:34,664 [---] [DEBUG] [Test:31] - run()
12/16 15:55:22,137 [---] [DEBUG] [Test:31] - run()
12/16 15:55:34,656 [---] [DEBUG] [Test:31] - run()
12/16 15:55:39,988 [---] [DEBUG] [Test:31] - run()
12/16 15:55:49,981 [---] [DEBUG] [Test:31] - run()
12/16 15:59:07,278 [---] [DEBUG] [Test:31] - run()
每次執行之間的延遲的每一次變化。我使用FixedRate或FixedDelay進行了測試,但得到的結果相同。
所以這個類是正確的,方法也是,但它隨機發生。
有沒有人有什麼可以導致這種行爲的想法?
我一直在尋找小時,沒有任何成功。將預定部分放在xml而不是java文件中不會改變任何內容,也可以使用cron值的屬性文件進行嘗試。
非常感謝您指出任務計劃程序繁忙的想法。我試圖在另一臺計算機上運行我的程序(我的個人計算機,第一臺計算機正在工作),並且工作正常。我想所有在工作中安裝的安全程序都會阻止我的程序正常運行。經過兩天的研究,這個問題解決了!謝謝。 – user2358235
@用戶不客氣。 –