Java 如何测量@Scheduled cron的周期?
我需要描述注释是如何工作的。Java 如何测量@Scheduled cron的周期?,java,spring,cron,spring-scheduled,Java,Spring,Cron,Spring Scheduled,我需要描述注释是如何工作的。 计划的定义有三种:fixedDelay、fixedRate和cron。 fixedDelay的时间段将从之前每次调用的完成时间开始测量,而fixedRate的时间段将在每次调用的连续开始时间之间测量 但是cron时期呢?如何衡量他 编辑: 我知道cron并不是一个既有固定信息又有固定信息的时期。我将用一个例子来描述我的问题 示例方法需要2分钟才能完成。但是使用@Scheduled注释,我会让该方法每分钟运行一次 @Scheduled(fixedDelay = 100
计划的定义有三种:fixedDelay、fixedRate和cron。
fixedDelay的时间段将从之前每次调用的完成时间开始测量,而fixedRate的时间段将在每次调用的连续开始时间之间测量 但是cron时期呢?如何衡量他 编辑:
我知道cron并不是一个既有固定信息又有固定信息的时期。我将用一个例子来描述我的问题 示例方法需要2分钟才能完成。但是使用@Scheduled注释,我会让该方法每分钟运行一次
@Scheduled(fixedDelay = 1000)
public void exampleMethod(){}
fixedDelay将等待方法完成,然后等待一分钟。因此,该方法将每3分钟运行一次
@Scheduled(fixedRate = 1000)
public void exampleMethod(){}
fixedRate将在每次调用的连续开始时间之间等待一分钟。因此,该方法将每分钟运行一次,不管该方法是否完成
@Scheduled(cron = "0 * * * * *")
public void exampleMethod(){}
所以我将cron设置为每分钟运行一次。该方法是每分钟执行一次,还是cron会一直等到该方法完成?cron不是perod,类似的记录格式表示Linux调度程序中的周期性。cron是一种描述作业何时运行的格式。你可以看到很多很好的例子我知道如何使用cron。但是如果我说,该方法应该每分钟运行一次,但是该方法需要超过一分钟才能完成,调度的注释是否等待“直到调用结束?”这完全取决于您为调度程序线程池分配了多少线程。如果只有一个任务,那么每个任务都会阻止下一个任务。我知道cron。请看一下我的编辑,我试图更好地解释我的问题。