update 优化 解除注释 使用spring包装虚拟线程池无须担心idea警告问题

This commit is contained in:
疯狂的狮子Li 2024-01-22 13:02:43 +08:00
parent 9766f61cf8
commit a07e5d7833
2 changed files with 8 additions and 7 deletions

View File

@ -64,7 +64,6 @@ spring:
name: ${ruoyi.name} name: ${ruoyi.name}
threads: threads:
# 开启虚拟线程 仅jdk21可用 # 开启虚拟线程 仅jdk21可用
# 开启后还需更改 UndertowConfig 虚拟线程配置
virtual: virtual:
enabled: false enabled: false
# 资源信息 # 资源信息

View File

@ -2,9 +2,11 @@ package org.dromara.common.web.config;
import io.undertow.server.DefaultByteBufferPool; import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo; import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
import org.dromara.common.core.utils.SpringUtils;
import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.core.task.VirtualThreadTaskExecutor;
/** /**
* Undertow 自定义配置 * Undertow 自定义配置
@ -24,12 +26,12 @@ public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServle
WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512)); webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512));
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
// 使用虚拟线程 解除下方注释 仅限jdk21 // 使用虚拟线程
// if (SpringUtils.isVirtual()) { if (SpringUtils.isVirtual()) {
// VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-"); VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-");
// deploymentInfo.setExecutor(executor); deploymentInfo.setExecutor(executor);
// deploymentInfo.setAsyncExecutor(executor); deploymentInfo.setAsyncExecutor(executor);
// } }
}); });
} }