優點
使用 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 目的地和訊息類型來保護訊息。