springboot scheduled线程池 demo
时间: 2023-09-17 21:15:06 浏览: 96
以下是一个使用 Spring Boot Scheduled 的线程池示例:
1. 首先,您需要在 Maven 或 Gradle 中添加以下依赖项:
```xml
<!-- Spring Boot Starter Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.5</version>
</dependency>
<!-- Spring Boot Starter Scheduled -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-quartz</artifactId>
<version>2.4.5</version>
</dependency>
```
2. 创建一个 `ThreadPoolConfig` 类,用于设置线程池配置:
```java
@Configuration
public class ThreadPoolConfig {
@Bean
public ExecutorService taskExecutor() {
return Executors.newScheduledThreadPool(10);
}
}
```
3. 创建一个 `ScheduledTask` 类,用于编写定时任务逻辑:
```java
@Component
public class ScheduledTask {
@Autowired
private ExecutorService executorService;
@Scheduled(fixedDelay = 1000)
public void task() {
executorService.submit(() -> {
// 任务逻辑
});
}
}
```
4. 运行应用程序并查看日志,您将看到定时任务正在运行。
注意:在使用 Scheduled 注解时,需要确保该注解所在的类被 Spring 容器扫描到。如果您使用了 Spring Boot Starter Web,则可以通过在主类上添加 `@SpringBootApplication` 注解来实现自动扫描。
阅读全文