|
@@ -0,0 +1,30 @@
|
|
|
+package com.ruoyi.framework.config;
|
|
|
+
|
|
|
+import io.undertow.server.DefaultByteBufferPool;
|
|
|
+import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
|
|
|
+import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
|
|
|
+import org.springframework.boot.web.server.WebServerFactoryCustomizer;
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Undertow 自定义配置
|
|
|
+ *
|
|
|
+ * @author Lion Li
|
|
|
+ */
|
|
|
+@Configuration
|
|
|
+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));
|
|
|
+ deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+}
|