我正在使用Spring的最新版本。当年份在新的一年发生变化时,我需要执行一些数据库操作。有什么方法可以触发基于Spring的事件来检测该年份是否已更改?
谢谢。
最佳答案
正如我在评论中所说的那样,可以通过使用@Scheduled注释来实现。
计划的批注允许我们定义一个cron表达式,该表达式将在将调用带有此批注注释的方法时确定。从文档:
克朗
类似cron的表达式,将通常的UN * X定义扩展为
包括第二秒以及分钟,小时,每月的某天,
一个月中的某天。
例如,方法
@Scheduled(cron = "0 0 0 1 1 *")
public void doStuffOnFirstOfJanuary() {
System.err.println("This is called");
}
一月的第一天第一天将在0小时0分钟0秒被调用。
为了使此批注起作用,您必须在应用程序中启用调度,方法是使用
@EnableScheduling
批注,或者如果使用xml配置,则添加<task:annotation-driven/>
元素。