优势
使用 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 和消息类型来保护消息。