如何在时间表注释中使用 intialDelay 和 cron 作业

问题描述 投票:0回答:1

我想在Spring Boot中创建一个时间,它应该在java启动(initialDelay)5分钟后首先启动,并且从下次开始它应该在每天早上5点运行

我尝试使用下面的代码,但是 Tomcat 停止了并且 Java 没有启动。

@Service
public class ServiceHandler {
   @Scheduled(initialDelay = 5 * 60 * 100, cron = "0 0 5 * * *")
    public void SomeTimer() {
    //some code
    }
}

Spring Boot 主要类:

@EnableScheduling
public class AppMain {

    public static void main(String[] args) {
        SpringApplication.run(AppMain.class, args);
    }

}
java spring spring-boot timer cron
1个回答
0
投票

使用这个例子:

@Component
public class SimpleScheduler {

    @EventListener(ApplicationReadyEvent.class)
    public void run() throws InterruptedException {
        Thread.sleep(5 * 60 * 1000);
        process();
    }

    @Scheduled(cron = "0 0 17 * * ?")
    public void cron() {
        process();
    }

    private void process() {
        System.out.println("RUN");
    }
}

考虑将 @EnableScheduling 添加到您的应用程序运行器类中。

© www.soinside.com 2019 - 2024. All rights reserved.