java - 如何测量@Scheduled cron 的周期?

标签 java spring cron spring-scheduled

我需要描述 @Scheduled 如何注释有效。
Scheduled 有 3 种定义:fixedDelayfixedRatecron
虽然 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 是一种描述作业何时运行的格式。你可以看到很多很好的例子here

关于java - 如何测量@Scheduled cron 的周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22906536/

相关文章:

linux - crontab 没有执行,cron 和 crontab 的用户是否不同?

Java Spring : What is best way to do a mysql query using an IN clause using JdbcTemplates?

Spring @Transactional 和回滚不起作用,Spring 集成测试

java - 从外部 clojar 导入/使用资源

java - 导入斯坦福 nlp Intellij

java - lambda 中的 Spring Request 作用域 bean

java - Cron 作业不运行 jar

bash - Cron bash 脚本让 cron [defunct] 挥之不去

java - Swagger 2 & spring MVC - 忽略 war 上下文路径

java - 通过 Jenkins 在 Sonar 报告中排除 java 文件