網頁

2019/5/3

Spring Boot WebSocket @EnableWebSocketMessageBroker作用

Spring WebSocket@EnableWebSocketMessageBroker是用來啟用WebSocket的Message broker配置,通常與會與掛有@Configuration的配置類別放在一起。

在建立Spring WebSocket應用程式的第一步就是先建立一個Spring WebSocket的配置類別,此類別為Spring應用程式的@Configuration配置類並掛上@EnableWebSocketMessageBroker及繼承WebSocketMessageBrokerConfigurer並實作其registerStompEndpoints()configureMessageBroker()方法來設定client與WebSocket Message broker間溝通的端點(endpoint)及路徑。

@Configuration
@EnableWebSocketMessageBroker
public class MyWebSocketConfig implements WebSocketMessageBrokerConfigurer {

    @Override
    public void registerStompEndpoints(StompEndpointRegistry registry) {
        registry.addEndpoint("/ws").withSockJS(); // 新增一個WebSocket節點,並啟用對SockJS的支援。
    }

    @Override
    public void configureMessageBroker(MessageBrokerRegistry registry) {
        registry.enableSimpleBroker("/topic"); // 設定一個Message broke的filter,也就是Client端訂閱Message broker的路徑前墜
        registry.setApplicationDestinationPrefixes("/app"); // 設定Client發送訊息給Message broker的@MessageMapping的路徑前墜
    }
}

參考:

沒有留言:

張貼留言