springboot使用ThreadPoolTaskExecutor 例子
时间: 2023-07-01 07:11:58 浏览: 88
使用Undertow替代Tomcat-elementary differential geometry-pressley
好的,下面是一个使用ThreadPoolTaskExecutor的示例代码:
1. 在application.properties配置文件中添加线程池相关属性:
```
# 线程池配置
spring.task.execution.pool.core-size=10
spring.task.execution.pool.max-size=20
spring.task.execution.pool.queue-capacity=100
```
2. 创建一个异步任务类,用@Async注解标记需要异步执行的方法:
```
@Service
public class AsyncService {
@Async
public void asyncTask() {
// 异步任务内容
}
}
```
3. 在需要异步执行的地方调用异步任务:
```
@RestController
public class AsyncController {
@Autowired
private AsyncService asyncService;
@RequestMapping("/async")
public String async() {
asyncService.asyncTask();
return "异步任务已经提交";
}
}
```
4. 在启动类中添加@EnableAsync注解,开启Spring异步任务支持:
```
@SpringBootApplication
@EnableAsync
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
```
5. 最后,可以通过@Autowired注入ThreadPoolTaskExecutor,手动创建线程并执行任务:
```
@Service
public class ManualTaskService {
@Autowired
private ThreadPoolTaskExecutor executor;
public void manualTask() {
executor.execute(new Runnable() {
@Override
public void run() {
// 手动创建线程并执行任务
}
});
}
}
```
这就是一个简单的使用ThreadPoolTaskExecutor的示例,希望对你有所帮助。
阅读全文