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);
	}
}
相关推荐
红星照耀华夏几秒前
Redis Geospatial 深度剖析:从 Geohash 编码到跳表索引的完整链路
后端
SamDeepThinking2 分钟前
如何理解 Spring 当中的 Bean?
java·后端·面试
Nyarlathotep01137 分钟前
类加载机制(2):虚拟机类加载过程
jvm·后端
敖正炀8 分钟前
阻塞队列-0-3-最佳实践
java
kevinzeng9 分钟前
Java Stream 流式编程 10天系统学习计划
java
Leo89911 分钟前
rocketmq从零单排
后端
摇滚侠11 分钟前
Java 零基础全套视频教程,面向对象(进阶),笔记 90-103
java·开发语言·笔记
一点一一11 分钟前
nestjs+langchain:Output Parsers+调用本地大模型
人工智能·后端
椰羊~王小美12 分钟前
C、Java、Go、Python 对比
java·c语言