|
|
@ -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);
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|