SpringBoot3.4.5 开启虚拟线程(JDK21)
配置如下
application.yaml
spring: threads:virtual:enabled: true # 启用虚拟线程
找一个配置类用于Bean配置
@Bean@Primarypublic AsyncTaskExecutor asyncTaskExecutor(){// 用于@Async注解return new TaskExecutorAdapter(Executors.newThreadPerTaskExecutor(Thread.ofVirtual().name("virtual-async#",1).factory()));}@Beanpublic WebServerFactoryCustomizer<TomcatServletWebServerFactory> virtualThreadTomcatCustomizer() {//tomcat容器使用虚拟线程return factory -> factory.addConnectorCustomizers(connector -> {connector.getProtocolHandler().setExecutor(Executors.newThreadPerTaskExecutor(// 定义线程前缀和初始化编号Thread.ofVirtual().name("virtual-thread#", 1).factory()));});}