mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-11 05:19:00 +08:00
refactor(pigx-common-websocket): 优化 WebSocket 缓冲区配置并移除 Undertow 依赖
This commit is contained in:
1 parent
5f3bff90e1
commit
836fc04a26
2 files changed
+28
-2
No files matched your search
+17
-1
@@ -11,13 +11,15 @@ import org.springframework.web.socket.WebSocketHandler;
|
||||
import org.springframework.web.socket.config.annotation.EnableWebSocket;
|
||||
import org.springframework.web.socket.config.annotation.WebSocketConfigurer;
|
||||
import org.springframework.web.socket.server.HandshakeInterceptor;
|
||||
import org.springframework.web.socket.server.standard.ServletServerContainerFactoryBean;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* websocket自动配置
|
||||
* WebSocket 自动配置,注册端点、容器参数和消息处理器。
|
||||
*
|
||||
* @author Yakir
|
||||
* @date 2026-05-14
|
||||
*/
|
||||
@Import(WebSocketHandlerConfig.class)
|
||||
@EnableWebSocket
|
||||
@@ -37,6 +39,20 @@ public class WebSocketAutoConfiguration {
|
||||
.addInterceptors(handshakeInterceptor.toArray(new HandshakeInterceptor[0]));
|
||||
}
|
||||
|
||||
/**
|
||||
* 配置 Servlet 容器的 WebSocket 消息缓冲区大小。允许通过注册自定义 Bean 覆盖默认配置。
|
||||
*
|
||||
* @return 配置了文本和二进制消息缓冲区上限的容器工厂 Bean
|
||||
*/
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public ServletServerContainerFactoryBean servletServerContainerFactoryBean() {
|
||||
ServletServerContainerFactoryBean container = new ServletServerContainerFactoryBean();
|
||||
container.setMaxTextMessageBufferSize(webSocketProperties.getMaxTextMessageBufferSize());
|
||||
container.setMaxBinaryMessageBufferSize(webSocketProperties.getMaxBinaryMessageBufferSize());
|
||||
return container;
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化时将所有的jsonMessageHandler注册到JsonMessageHandlerHolder中
|
||||
*/
|
||||
|
||||
+11
-1
@@ -53,6 +53,16 @@ public class WebSocketProperties {
|
||||
/**
|
||||
* 配置的缓冲区大小限制
|
||||
*/
|
||||
private Integer sendBufferSizeLimit = 64000;
|
||||
private Integer sendBufferSizeLimit = 6400000;
|
||||
|
||||
/**
|
||||
* 接收文本消息缓冲区大小限制
|
||||
*/
|
||||
private Integer maxTextMessageBufferSize = 6400000;
|
||||
|
||||
/**
|
||||
* 接收二进制消息缓冲区大小限制
|
||||
*/
|
||||
private Integer maxBinaryMessageBufferSize = 6400000;
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user