Loading...
Spring Framework Reference Documentation 7.0.2의 WebSocket Transport의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
이 섹션은 기본 WebSocket 서버 transport를 구성하는 방법을 설명합니다.
Jakarta WebSocket 서버의 경우, 설정에 ServletServerContainerFactoryBean을 추가하십시오. 예시는
WebSocket 섹션의
Configuring the Server를
참조하십시오.
Jetty WebSocket 서버의 경우, 다음과 같이 JettyRequestUpgradeStrategy를 커스터마이즈하십시오:
1@Configuration 2@EnableWebSocketMessageBroker 3public class JettyWebSocketConfiguration implements WebSocketMessageBrokerConfigurer { 4 5 @Override 6 public void registerStompEndpoints(StompEndpointRegistry registry) { 7 registry.addEndpoint("/portfolio").setHandshakeHandler(handshakeHandler()); 8 } 9 10 @Bean 11 public DefaultHandshakeHandler handshakeHandler() { 12 JettyRequestUpgradeStrategy strategy = new JettyRequestUpgradeStrategy(); 13 strategy.addWebSocketConfigurer(configurable -> { 14 configurable.setInputBufferSize(4 * 8192); 15 configurable.setIdleTimeout(Duration.ofSeconds(600)); 16 }); 17 return new DefaultHandshakeHandler(strategy); 18 } 19}
1@Configuration 2@EnableWebSocketMessageBroker 3class JettyWebSocketConfiguration : WebSocketMessageBrokerConfigurer { 4 5 override fun registerStompEndpoints(registry: StompEndpointRegistry) { 6 registry.addEndpoint("/portfolio").setHandshakeHandler(handshakeHandler()) 7 } 8 9 @Bean 10 fun handshakeHandler(): DefaultHandshakeHandler { 11 val strategy = JettyRequestUpgradeStrategy() 12 strategy.addWebSocketConfigurer { 13 it.inputBufferSize = 4 * 8192 14 it.idleTimeout = Duration.ofSeconds(600) 15 } 16 return DefaultHandshakeHandler(strategy) 17 } 18}
WebSocket 서버 properties 외에도, 다음과 같이 커스터마이즈할 수 있는 STOMP WebSocket transport properties도 있습니다:
1@Configuration 2@EnableWebSocketMessageBroker 3public class WebSocketConfiguration implements WebSocketMessageBrokerConfigurer { 4 5 @Override 6 public void configureWebSocketTransport(WebSocketTransportRegistration registry) { 7 registry.setMessageSizeLimit(4 * 8192); 8 registry.setTimeToFirstMessage(30000); 9 } 10}
1@Configuration 2@EnableWebSocketMessageBroker 3class WebSocketConfiguration : WebSocketMessageBrokerConfigurer { 4 5 override fun configureWebSocketTransport(registry: WebSocketTransportRegistration) { 6 registry.setMessageSizeLimit(4 * 8192) 7 registry.setTimeToFirstMessage(30000) 8 } 9}
Enable STOMP
Flow of Messages