優點

使用 STOMP 作為子協定,讓 Spring Framework 和 Spring Security 能夠提供比使用原始 WebSocket 更豐富的程式設計模型。HTTP 與原始 TCP 以及它如何讓 Spring MVC 和其他 Web 框架提供豐富的功能,也有相同的道理。以下列出一些優點:

  • 無需發明自訂訊息協定和訊息格式。

  • STOMP 客户端(包括 Spring Framework 中的 Java 客户端)均可使用。

  • 您可以(選擇性地)使用訊息 Broker(例如 RabbitMQ、ActiveMQ 等)來管理訂閱和廣播訊息。

  • 應用程式邏輯可以組織在任意數量的 @Controller 實例中,並且可以根據 STOMP 目的地標頭將訊息路由到這些實例,而不是使用單個 WebSocketHandler 為給定連線處理原始 WebSocket 訊息。

  • 您可以使用 Spring Security 根據 STOMP 目的地和訊息類型來保護訊息。