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);
	}
}
相关推荐
IT_陈寒9 分钟前
Vue的v-if和v-show,我竟然用错了这么久
前端·人工智能·后端
一路向北North11 分钟前
Spring Security OAuth2.0(16):密码模式
java·后端·spring
水无痕simon11 分钟前
5 多表操作
java·开发语言·数据库
IT_陈寒23 分钟前
React状态更新延迟搞晕我,原来是闭包在捣鬼
前端·人工智能·后端
ALex_zry23 分钟前
C++26 Freestanding 库扩展详解:无操作系统也能用标准库
java·jvm·c++
Tian_Hang26 分钟前
Eclipse Mosquitto 安装及介绍
java·运维·服务器·ide·sql·mysql·eclipse
weelinking27 分钟前
weytoken微元算力企业级大模型治理平台深度评测
java·大数据·人工智能
卓怡学长34 分钟前
w273基于springboot的智能笔记的开发与应用
java·spring boot·spring·intellij-idea
码上有光1 小时前
c++:map和set的底层实现
android·java·c++·set·map
剑挑星河月1 小时前
234. 回文链表
java·数据结构·算法·leetcode·链表