Java Spring计划备份

Java Spring计划备份,java,spring,cron,scheduled-tasks,Java,Spring,Cron,Scheduled Tasks,我有一个简单的spring应用程序,它有这样一个Cron任务 @Service @EnableScheduling public class sampleClass { @Scheduled(cron = "0 0/30 * * * *") public void demoServiceMethod() { //executes something } } 这工作正常,每30分钟执行一次。现在,我正在寻找一种方法,如果服务器在某个时间停机,并且

我有一个简单的spring应用程序,它有这样一个Cron任务

@Service
@EnableScheduling
public class sampleClass {

    @Scheduled(cron = "0 0/30 * * * *")
    public void demoServiceMethod()
    {
        //executes something
    }
}

这工作正常,每30分钟执行一次。现在,我正在寻找一种方法,如果服务器在某个时间停机,并且如果它错过了此计划,那么我可以找到一种方法,这样我就可以触发另一个进程来覆盖服务器停机。我对spring日程安排很陌生,答案可能很明显,但我找不到。所以请提前感谢。

我想,这是两件不同的事情。检查应用程序是否已启动并正在运行以及计划。只要创建一个监视应用程序的作业/东西,如果应用程序没有运行,就可以重新启动它。这不应该与您的调度机制相耦合。您可以看看
spring boot actuator
之类的东西(也可以在常规应用程序上运行),以获得现成的监控功能。然后,将您的练习留给检测服务器的运行状况。我建议您记录上次成功运行调度程序的时间戳。当服务器关闭并重新启动时,您可以调用一个方法,该方法可以检查自上次成功运行以来是否已超过30分钟。如果是,则可以触发所需的进程以覆盖服务器停机。