|
@@ -2,9 +2,11 @@ package org.dromara.common.web.config;
|
|
|
|
|
|
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 自定义配置
|
|
@@ -24,12 +26,12 @@ public class UndertowConfig implements WebServerFactoryCustomizer<UndertowServle
|
|
|
WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
|
|
|
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 512));
|
|
|
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
|
|
|
- // 使用虚拟线程 解除下方注释 仅限jdk21
|
|
|
-// if (SpringUtils.isVirtual()) {
|
|
|
-// VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-");
|
|
|
-// deploymentInfo.setExecutor(executor);
|
|
|
-// deploymentInfo.setAsyncExecutor(executor);
|
|
|
-// }
|
|
|
+ // 使用虚拟线程
|
|
|
+ if (SpringUtils.isVirtual()) {
|
|
|
+ VirtualThreadTaskExecutor executor = new VirtualThreadTaskExecutor("undertow-");
|
|
|
+ deploymentInfo.setExecutor(executor);
|
|
|
+ deploymentInfo.setAsyncExecutor(executor);
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|