优势

使用 STOMP 作为子协议,Spring Framework 和 Spring Security 可以提供比使用原生 WebSockets 更丰富的编程模型。这与 HTTP 相对于原生 TCP 的作用相似,它使得 Spring MVC 和其他 Web 框架能够提供丰富的功能。以下是其优势列表:

  • 无需发明自定义的消息协议和消息格式。

  • STOMP 客户端可用,包括 Spring Framework 中的 Java 客户端

  • 您可以(可选地)使用消息 Broker(如 RabbitMQ、ActiveMQ 等)来管理订阅和广播消息。

  • 应用逻辑可以组织在任意数量的 @Controller 实例中,消息可以根据 STOMP destination header 路由到它们,而无需使用单个 WebSocketHandler 处理给定连接的原生 WebSocket 消息。

  • 您可以使用 Spring Security 根据 STOMP destination 和消息类型来保护消息。