升级JDK到21引入虚拟线程

pull/1102/head
guoba 2025-10-17 12:18:54 +08:00
parent 964569f715
commit cb760efebb
2 changed files with 31 additions and 1 deletions

View File

@ -16,7 +16,7 @@
<ruoyi.version>3.9.0</ruoyi.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>17</java.version>
<java.version>21</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<mybatis-spring-boot.version>3.0.4</mybatis-spring-boot.version>
<druid.version>1.2.23</druid.version>

View File

@ -0,0 +1,30 @@
package com.ruoyi.framework.config;
import org.springframework.boot.web.embedded.tomcat.TomcatProtocolHandlerCustomizer;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
@Configuration
public class VirtualThreadConfig {
/**
* 线JDK 21 Executors.newVirtualThreadPerTaskExecutor()
* 11线线/线
*/
@Bean
public TomcatProtocolHandlerCustomizer<?> protocolHandlerVirtualThreadExecutorCustomizer() {
// 1. 创建自定义虚拟线程工厂并指定名称前缀
ThreadFactory virtualThreadFactory = Thread.ofVirtual()
.name("virtual-api-", 1) // 前缀为"virtual-api-"编号从1开始
.factory();
// 2. 使用上面创建的线程工厂初始化执行器
return protocolHandler -> protocolHandler.setExecutor(
Executors.newThreadPerTaskExecutor(virtualThreadFactory)
);
}
}