使用Spring在特定日期(每月1日)运行计时器任务

dvr*_*idu 5 java spring spring-mvc

我们要求在每个月的第1天(时间:00:00:00 AM)完成一份工作.
我们使用Spring框架的ScheduledTimerTask来使用延迟和周期属性来调度作业.此类不支持在特定日期运行作业.

有人可以建议,我们如何使用Spring和Java技术解决这个问题?

rgr*_*ski 10

如果您不必在集群中的单个节点上运行此作业,则可以使用Spring Task,请参阅:http: //docs.spring.io/spring/docs/current/spring-framework-reference/html/scheduling html的

@Scheduled(cron="0 0 0 1 1/1 *")
public void doSomething() {
    // something that should execute on 1st day every month @ 00:00
}
Run Code Online (Sandbox Code Playgroud)

要生成cron表达式,请尝试使用cronmaker.com

请注意,如果您在群集中使用此代码,它将在所有节点上运行.

  • cron表达式抛出异常"cron表达式必须由6个字段组成(找到7 ..."因为Spring cron格式与unix不同(http://stackoverflow.com/questions/30887822/spring-cron-vs-normal-cron ) (3认同)