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);
	}
}
相关推荐
程序员梅雨6 小时前
Linux & Shell 实用干货
linux·运维·服务器·后端·面试·php
lemon_sjdk6 小时前
javafx-Image图像(2)
java·javafx
大牧师6 小时前
TypeORM 入门教程
后端·sql·mysql·orm·nest·typeorm
IT_陈寒6 小时前
Vite静态资源路径这个大坑害我调了一下午
前端·人工智能·后端
oliver_sys_log6 小时前
绕过 Yearning 查询体验限制:我做了一个 DataGrip 只读 SQL 代理
后端·mysql
小七在进步6 小时前
C++入门(2)
java·jvm·c++
水深火乐6 小时前
golang-jwt v5 入门
后端
carson9556 小时前
基于springboot和vue的文本文件上传下载在线编辑功能
后端
To0R6 小时前
Agent 上线前必须过的五道门(附 Spring Boot 实现)
java
n8n6 小时前
Spring AI 提示词工程进阶:System / User / Assistant 角色、Prompt Template 动态拼装与多角色人设切换
后端