在springboot实现只执行一次的定时任务
时间: 2023-12-07 11:51:56 浏览: 149
Spring Boot实现简单的定时任务
在Spring Boot中,可以使用@Scheduled注解来实现定时任务。如果要实现只执行一次的定时任务,可以按照以下步骤进行:
1. 在你的定时任务方法上添加@Scheduled注解,并设置cron表达式,例如:
```
@Scheduled(cron = "0 0 12 * * ?") // 每天中午12点触发
public void myTask() {
// 定时任务逻辑
}
```
2. 在@Scheduled注解中设置fixedDelay属性为Long.MAX_VALUE,例如:
```
@Scheduled(fixedDelay = Long.MAX_VALUE)
public void myTask() {
// 定时任务逻辑
}
```
这样设置后,定时任务会在应用启动后立即执行一次,并且不会再次触发。
注意:如果你的应用是一个集群部署的话,每个节点都会执行一次,这时候可以使用分布式锁来避免重复执行的问题。
阅读全文