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);
	}
}
相关推荐
anzhxu6 分钟前
Spring Boot(七):Swagger 接口文档
java·spring boot·后端
lUie INGA6 分钟前
快速在本地运行SpringBoot项目的流程介绍
java·spring boot·后端
yingyima7 分钟前
Apache Airflow 定时任务指南
后端
XiaoYuanCode9 分钟前
Java AI 入门:LangChain4j 函数调用 vs Agent 智能体(核心区别 + 可运行代码)
后端
roc9811 分钟前
这个系统能跑,但我不敢改:一次典型的 vibecoding 反思
人工智能·后端
探险的机器猫14 分钟前
使用 java 搭建一个基于 StreamableHTTP 的 MCP 服务
java·mcp
likerhood14 分钟前
Map的keySet()方法和entrySet()方法(java学习)
java
用户4124675083721 分钟前
再也不用 /usage 了!用 Claude Code 自定义状态栏,把用量焦虑彻底消灭
后端