Spring STOMP-WebSocket传输消息

本节介绍怎么配置底层的WebSocket服务器的消息传输。

对于Jakarta WebSocket服务器,在项目配置中添加一个ServletServerContainerFactoryBean。例如,请参阅WebSocket部分下的配置服务器

对于Jetty WebSocket服务器,如下这个例子自定义了JettyRequestUpgradeStrategy

复制代码
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

	@Override
	public void registerStompEndpoints(StompEndpointRegistry registry) {
		registry.addEndpoint("/portfolio").setHandshakeHandler(handshakeHandler());
	}

	@Bean
	public DefaultHandshakeHandler handshakeHandler() {
		JettyRequestUpgradeStrategy strategy = new JettyRequestUpgradeStrategy();
		strategy.addWebSocketConfigurer(configurable -> {
				policy.setInputBufferSize(4 * 8192);
				policy.setIdleTimeout(600000);
		});
		return new DefaultHandshakeHandler(strategy);
	}
}

除了WebSocket服务器的属性外,还有一些STOMP WebSocket传输消息相关的属性可以自定义,如下所示:

复制代码
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {

	@Override
	public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
		registry.setMessageSizeLimit(4 * 8192);
		registry.setTimeToFirstMessage(30000);
	}
}
相关推荐
用户0304805912636 分钟前
前后端数据传输: 利用 Jackson 注解实现 Enum 与 int 的双向映射
java·后端
Rhys..9 分钟前
Jenkinsfile保存在项目根目录下的好处
java·开发语言
间彧11 分钟前
从 Docker Compose 到 Docker Swarm:RocketMQ 微服务项目集群部署实战指南
后端
iOS开发上架哦37 分钟前
防止 iOS 应用被二次打包,从完整性校验到 IPA 成品混淆的多层安全方案
后端
讨厌下雨的天空1 小时前
线程同步与互斥
java·开发语言
IUGEI1 小时前
【计算机网络】HTTP/3如何实现可靠传输?
java·网络·后端·网络协议·tcp/ip·计算机网络·http
天下不喵1 小时前
安全小白入门(2)-----跨站脚本(XSS)
前端·后端·安全
谁黑皮谁肘击谁在连累直升机1 小时前
包及其导入
前端·后端
架构师专栏1 小时前
从 Spring Boot 3 升级到 4:完整迁移指南
spring boot·后端
u***u6852 小时前
JavaGraphQL案例
java·spring boot·后端