gpt4 book ai didi

spring-boot - Spring Boot - 设置 TaskExecutor 的任何快捷方式?

转载 作者:行者123 更新时间:2023-12-04 01:13:30 25 4
gpt4 key购买 nike

只是想检查一下是否有人有更快的方法在 spring 启动中为 Spring MVC 设置 TaskExecutor(使用自动配置)。这是我到目前为止:

@Bean
protected ThreadPoolTaskExecutor mvcTaskExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
executor.setThreadNamePrefix("my-mvc-task-executor-");
executor.setCorePoolSize(5);
executor.setMaxPoolSize(200);
return executor;
}

@Bean
protected WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
configurer.setTaskExecutor(mvcTaskExecutor());
}
};
}

有没有人有更好/更快的方法来做到这一点?

-约书亚

最佳答案

实现此目的的一种方法是使用 Spring 的 ConcurrentTaskExceptor 类。该类充当 Spring 的 TaskExecutor 和 JDK 的 Executor 之间的适配器。

@Bean
protected WebMvcConfigurer webMvcConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void configureAsyncSupport(AsyncSupportConfigurer configurer) {
configurer.setTaskExecutor(new ConcurrentTaskExecutor(Executors.newFixedThreadPool(5)));
}
};
}

上面的一个问题是您无法指定最大池大小。但是你总是可以创建一个新的工厂方法, createThreadPool(int core, int max)为您提供可配置的线程池。

关于spring-boot - Spring Boot - 设置 TaskExecutor 的任何快捷方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28800842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com