Spring Boot 2.x版本 + JDK21使用虚拟线程

Spring 3.2原生支持虚拟线程,spring boot 2.x + JDK21再通过手工配置,也能使用上tomcat,如下:

来源:

https://spring.io/blog/2022/10/11/embracing-virtual-threads

config里定义两个类:

@Configuration
public class ThreadConfig {
    @Bean(TaskExecutionAutoConfiguration.APPLICATION_TASK_EXECUTOR_BEAN_NAME)
    public AsyncTaskExecutor asyncTaskExecutor() {
      return new TaskExecutorAdapter(Executors.newVirtualThreadPerTaskExecutor());
    }

    @Bean
    public TomcatProtocolHandlerCustomizer<?> protocolHandlerVirtualThreadExecutorCustomizer() {
      return protocolHandler -> {
        protocolHandler.setExecutor(Executors.newVirtualThreadPerTaskExecutor());
      };
    }
}
posted @ 2023-11-06 22:36  漠孤烟  阅读(623)  评论(0)    收藏  举报