From 3c2c87364b89de46d12e95abd5bdf8cbd2c6dbf6 Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 08:43:23 +0800 Subject: [PATCH] dev-init --- ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java | 20 +++++++++----------- 1 files changed, 9 insertions(+), 11 deletions(-) diff --git a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java index d6d986c..ac50dd2 100644 --- a/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java +++ b/ruoyi-common/ruoyi-common-web/src/main/java/org/dromara/common/web/config/UndertowConfig.java @@ -2,9 +2,11 @@ import io.undertow.server.DefaultByteBufferPool; import io.undertow.websockets.jsr.WebSocketDeploymentInfo; +import org.dromara.common.core.utils.SpringUtils; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; +import org.springframework.core.task.VirtualThreadTaskExecutor; /** * Undertow 鑷畾涔夐厤缃� @@ -14,22 +16,18 @@ @AutoConfiguration public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> { - /** - * 璁剧疆 Undertow 鐨� websocket 缂撳啿姹� - */ @Override public void customize(UndertowServletWebServerFactory factory) { - // 榛樿涓嶇洿鎺ュ垎閰嶅唴瀛� 濡傛灉椤圭洰涓娇鐢ㄤ簡 websocket 寤鸿鐩存帴鍒嗛厤 factory.addDeploymentInfoCustomizers(deploymentInfo -> { WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo(); - webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512)); + webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(true, 1024)); deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo); - // 浣跨敤铏氭嫙绾跨▼ 瑙i櫎涓嬫柟娉ㄩ噴 浠呴檺jdk21 -// if (SpringUtils.isVirtual()) { -// ExecutorService executor = Executors.newVirtualThreadPerTaskExecutor(); -// deploymentInfo.setExecutor(executor); -// deploymentInfo.setAsyncExecutor(executor); -// } + // 浣跨敤铏氭嫙绾跨▼ + if (SpringUtils.isVirtual()) { + VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-"); + deploymentInfo.setExecutor(executor); + deploymentInfo.setAsyncExecutor(executor); + } }); } -- Gitblit v1.9.3