升级JDK到21引入虚拟线程
parent
964569f715
commit
cb760efebb
2
pom.xml
2
pom.xml
|
|
@ -16,7 +16,7 @@
|
||||||
<ruoyi.version>3.9.0</ruoyi.version>
|
<ruoyi.version>3.9.0</ruoyi.version>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
<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>
|
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
|
||||||
<mybatis-spring-boot.version>3.0.4</mybatis-spring-boot.version>
|
<mybatis-spring-boot.version>3.0.4</mybatis-spring-boot.version>
|
||||||
<druid.version>1.2.23</druid.version>
|
<druid.version>1.2.23</druid.version>
|
||||||
|
|
|
||||||
|
|
@ -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()
|
||||||
|
* 特性:1个任务对应1个虚拟线程,无需手动设置核心线程数/最大线程数
|
||||||
|
*/
|
||||||
|
@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)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue