springboot 定时任务 异步
时间: 2023-10-22 15:10:34 浏览: 113
Springboot之任务.md
在Spring Boot中,实现异步定时任务可以通过以下步骤来完成:
1. 在定时任务类上添加`@Component`注解,将其声明为Spring Bean。
2. 使用`@EnableScheduling`注解启用定时任务功能。
3. 使用`@EnableAsync`注解启用异步任务功能。
4. 在异步定时任务方法上使用`@Async`注解,表示该方法可以异步执行。
5. 使用`@Scheduled`注解配置定时任务的执行时间。
下面是一个示例代码片段,演示了使用异步定时任务的方式:
```java
@Component
@EnableScheduling
@EnableAsync
public class ServiceJob {
// 每2秒执行一次
@Async
@Scheduled(cron = "0/2 * * * * ?")
public void runJob1() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName() + " runJob1 -- " + new Date());
}
// 每1秒执行一次
@Async
@Scheduled(cron = "0/1 * * * * ?")
public void runJob2() {
System.out.println(Thread.currentThread().getName() + " runJob2 -- " + new Date());
}
}
```
阅读全文