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);
	}

}