@Scheduled 带有 cron 表达式的表达式有时会执行任务两次



当使用带有@Scheduled注释的 cron 表达式时,计划任务会执行两次。

我正在使用@Scheduled(cron = "0 0 7-23 ?* 1-5"( 在早上 7 点到晚上 23 点的整点执行任务。但是,有时任务会执行两次

>Running Task::LocalTime 2019-08-30T16:00:00
>Running Task::LocalTime 2019-08-30T17:00:00
>Running Task::LocalTime 2019-08-30T18:00:00
>Running Task::LocalTime 2019-08-30T18:59:58  (This shouldn't have executed)
>Running Task::LocalTime 2019-08-30T19:00:00
>Running Task::LocalTime 2019-08-30T19:59:59   (Neither should this)
>Running Task::LocalTime 2019-08-30T20:00:00
>Running Task::LocalTime 2019-08-30T21:00:00
>Running Task::LocalTime 2019-08-30T22:00:00

我做错了什么吗?当尝试使用Spring/SpringBoot进行相同的表达式时,它似乎可以正常运行。

编辑:代码

package imbibing.oldman
@Singleton
public class NotifyHourlyToDrink {
private static final Logger LOGGER = LoggerFactory.getLogger(NotifyHourlyToDrink.class);
private int numberOfBeersDrank;
@Scheduled(cron = "0 0 7-23 ? * 1-5")
public void drinkBeer(){
numberOfBeersDrank++;
LOGGER.info("Oh! The chilled  number {}", numberOfBeersDrank);  
}
}

这是一个错误,并在Micronaut 1.2.1中修复

最新更新