我这里有一个简单的测试方法,该方法设置为每5秒运行一次,但确实可以,但是查看System.out可以看到它似乎在做一些奇怪的事情。

@Scheduled(cron="*/5 * * * * ?")
public void testScheduledMethod() {
     System.out.println(new Date()+" > Running testScheduledMethod...");
}

输出:
Wed Jan 09 16:49:15 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:15 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:20 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:20 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:25 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:25 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:30 GMT 2013 > Running testScheduledMethod...
Wed Jan 09 16:49:30 GMT 2013 > Running testScheduledMethod...

为什么每次都运行TWICE(出现)?

最佳答案

如果您查看文档,则有一条注释明确指出了这种现象。
该注释位于section 25.5.1 at this link下,内容为:

我了解这只是目前的建议,但我认为我们没有足够的信息来进一步诊断问题。

08-29 01:22