我在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,@ Schedudument注释包含定义调度程序是否持久的属性。默认情况下,调度程序是持久的。这篇文章详细介绍了如何配置基于程序和注释的调度程序https://www.baeldung.com/scheduling-in-java-enterprise-edition