gpt4 book ai didi

java - @scheduled 注解在 Spring Boot 中的工作原理

转载 作者:行者123 更新时间:2023-11-29 04:21:00 24 4
gpt4 key购买 nike

我有一个 Spring Boot 应用程序,其中有一个类有两个方法,如下所示。

@Component
public class ClassA {
@Scheduled(fixedDelay = 900000)
public void methodA(){
//do task "A"
}

@Scheduled(fixedDelay = 600000)
public void methodB(){
//do task "B"
}

}

根据我的理解,方法 A 应该每 15 分钟执行一次,方法 B 应该每 10 分钟执行一次。但是一旦应用程序启动,这两个作业都会被调用。这是正确的行为吗?如果是,那么如何在应用程序启动后立即停止它们的执行,并在方法 A 之后运行方法 B?

最佳答案

作为文档形式:Scheduled (Spring Framework 5.0.4.RELEASE API)

fixedDelay: Execute the annotated method with a fixed period in milliseconds between the end of the last invocation and the start of the next.

你想要的是

initialDelay: Number of milliseconds to delay before the first execution of a fixedRate() or fixedDelay() task.

关于java - @scheduled 注解在 Spring Boot 中的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49192087/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com