|
对于最新的稳定版本,请使用 Spring Framework 7.0.6! |
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() {
WebSocketPolicy policy = new WebSocketPolicy(WebSocketBehavior.SERVER);
policy.setInputBufferSize(8192);
policy.setIdleTimeout(600000);
return new DefaultHandshakeHandler(
new JettyRequestUpgradeStrategy(new WebSocketServerFactory(policy)));
}
}
除了WebSocket服务器属性之外,还有以下需要自定义的STOMP WebSocket传输属性:
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override
public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
registry.setMessageSizeLimit(4 * 8192);
registry.setTimeToFirstMessage(30000);
}
}