Spring Scheduled注释如何工作
问题内容:
我在Java中创建了一个函数,该函数应该每天午夜运行
//My function this function is within UpdateService Class
@Scheduled(cron = "0 0 0 * * ?")
public static void UpdateFn() {
try {
System.out.println("-----------Background Task Running----------------");
//code to update some data every day
System.out.println("-----------Background Task Ending----------------");
} catch (Exception e) {
e.printStackTrace();
}
}
//My xml configuration
<task:annotation-driven />
<bean id="UpdateTask" class="com.ss.utility.UpdateService"></bean>
</beans>
但是我没有按预期的方式工作。有时它执行了,有时没有。为此的任何解决方案。
spring版是4
问题答案:
您不必为此使用静态方法。尝试使用以下代码:
@Scheduled(cron = "0 0 0 * * ?")
public void UpdateFn() {
try {
System.out.println("-----------Background Task Running----------------");
//code to update some data every day
System.out.println("-----------Background Task Ending----------------");
} catch (Exception e) {
e.printStackTrace();
}
}