java - Spring Scheduled 注解中的固定速率和固定延迟有什么区别?

标签 java spring scheduled-tasks

我正在使用 Spring 实现计划任务,我看到有两种类型的时间配置选项可以从上次调用开始再次计划工作。这两种类型有什么区别?

 @Scheduled(fixedDelay = 5000)
 public void doJobDelay() {
     // do anything
 }

 @Scheduled(fixedRate = 5000)
 public void doJobRate() {
     // do anything
 }

最佳答案

  • fixedRate :让 Spring 定期运行任务,即使 上次调用可能仍在运行。
  • fixedDelay :具体控制下一次执行时间 最后一次执行结束。

在代码中:

@Scheduled(fixedDelay=5000)
public void updateEmployeeInventory(){
    System.out.println("employee inventory will be updated once only the last updated finished ");
    /**
     * add your scheduled job logic here
     */
}


@Scheduled(fixedRate=5000)
public void updateEmployeeInventory(){
    System.out.println("employee inventory will be updated every 5 seconds from prior updated has stared, regardless it is finished or not");
    /**
     * add your scheduled job logic here
     */
}

关于java - Spring Scheduled 注解中的固定速率和固定延迟有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38842507/

相关文章:

windows - Powershell 脚本不通过计划任务运行

java定时器任务计划

java - 有谁知道一个好的开源评论模块?

java - coldfusion 计算 getHTTPRequestData 的 HMAC256

java - 在maven编译期间跳过测试

java - 事务内部的 Spring DAO 异常翻译

java - Spring MVC 中的异常

java - 使用 Java (Spring) 从数据库安排任务的最佳方式

java - Avro 序列化异常 - java.time.Instant 无法转换为 java.lang.Long

java - Spring Data Mongo - 查询方法和 Distinct 字段