在Spring中,可以使用@Scheduled
注解来配置定时任务。首先,在Spring配置文件中加入以下配置:
<task:annotation-driven/>
然后,在需要执行定时任务的方法上添加 @Scheduled
注解,并设置定时任务的执行时间。例如:
@Scheduled(cron = "0 0 0 * * ?") // 每天凌晨执行
public void myTask() {
// 执行定时任务的逻辑
}
上述代码表示每天凌晨 0 点执行一次 myTask
方法。
@Scheduled
注解还有其他的属性可以配置,例如:
fixedRate
:固定频率执行,即每隔固定时间执行一次,单位为毫秒。fixedDelay
:固定延迟执行,即上一次执行完毕后,延迟固定时间后执行下一次,单位为毫秒。initialDelay
:初始延迟执行,即任务启动后延迟固定时间后执行第一次,单位为毫秒。cron
:使用 cron 表达式配置定时任务执行时间。例如,使用固定频率执行:
@Scheduled(fixedRate = 5000) // 每隔 5 秒执行一次
public void myTask() {
// 执行定时任务的逻辑
}
使用固定延迟执行:
@Scheduled(fixedDelay = 5000) // 上一次执行完毕后延迟 5 秒执行下一次
public void myTask() {
// 执行定时任务的逻辑
}
使用初始延迟执行:
@Scheduled(initialDelay = 5000, fixedRate = 5000) // 延迟 5 秒后执行第一次,然后每隔 5 秒执行一次
public void myTask() {
// 执行定时任务的逻辑
}