我在 Java EE 8 中有以下任务,在 WildFly 上运行。
public class MyScheduler {
@Schedules({
@Schedule(dayOfWeek = "Fri", hour = "17")
})
public void performCronTask() {
System.out.println("MyScheduler started.");
}
}
这将在每周五 17 点(下午 5 点)运行。如果服务器在 16 点停机并在 18 点重新启动,会发生什么情况?服务器是否会运行任务?我是否需要以编程方式控制这种情况?
最佳答案
是的,它将被执行。根据 EJB 3.1,@Schedule 注释包含定义调度程序是否持久的属性。默认情况下,调度程序是持久的。这是一篇详细介绍如何配置基于编程和注释的调度程序的文章 https://www.baeldung.com/scheduling-in-java-enterprise-edition
关于Java EE @Schedule 和服务器关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54728185/