springboot Scheduled
时间: 2023-08-16 10:14:48 浏览: 144
Spring Boot中的Scheduled注解是用来创建定时任务的。通过在方法上添加该注解,可以指定方法在特定的时间间隔或固定的时间点执行。
首先,在Spring Boot应用的任意一个类上添加@EnableScheduling注解,启用定时任务的功能。
然后,在需要定时执行的方法上添加@Scheduled注解,并指定执行的时间规则。@Scheduled注解可以接受多种时间表达式,如固定的时间间隔、cron表达式等。
下面是一个简单的示例:
```java
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@Component
@EnableScheduling
public class MyScheduledTasks {
@Scheduled(fixedRate = 5000) // 每隔5秒执行一次
public void task1() {
// 执行任务的逻辑代码
}
@Scheduled(cron = "0 0 12 * * ?") // 每天中午12点执行
public void task2() {
// 执行任务的逻辑代码
}
}
```
以上代码定义了两个定时任务,分别使用了fixedRate和cron两种方式指定执行时间。在实际使用中,可以根据需求选择合适的方式来创建定时任务。
需要注意的是,定时任务默认是单线程执行的,如果任务执行时间过长可能会影响其他任务的触发。如果需要并发执行多个任务,可以考虑使用线程池或者异步执行的方式来实现。
阅读全文