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);
	}
}
相关推荐
Chan167 分钟前
微服务 - Higress网关
java·spring boot·微服务·云原生·面试·架构·intellij-idea
二哈喇子!9 分钟前
JavaSE 与 JavaEE 知识点整合
java·servlet·tomcat
之歆15 分钟前
Spring AI入门到实战到原理源码-多模型协作智能客服系统
java·人工智能·spring
yyy(十一月限定版)29 分钟前
c++(3)类和对象(中)
java·开发语言·c++
摸鱼的春哥39 分钟前
实战:在 Docker (Windows) 中构建集成 yt-dlp 的“满血版” n8n 自动化工作流
前端·javascript·后端
IT 行者42 分钟前
Spring Security 7 OAuth2 Token 格式选择浅析
java·后端·spring
幽络源小助理44 分钟前
Springboot机场乘客服务系统源码 – SpringBoot+Vue项目免费下载 | 幽络源
vue.js·spring boot·后端
shughui1 小时前
最新版IntelliJ IDEA下载+安装+汉化(详细图文)
java·ide·intellij-idea
小罗和阿泽1 小时前
java 【多线程基础 三】
java·开发语言