益处
使用STOMP作为子协议,可以让Spring框架和Spring Security提供比直接使用WebSockets更丰富的编程模型。同样的道理也适用于HTTP与原始TCP的比较,HTTP让Spring MVC和其他Web框架能够提供丰富的功能。以下是其中的一些优势:
- 无需发明自定义的消息协议和消息格式。
- 包括Spring框架中的Java客户端在内的STOMP客户端已经存在。
- (可选地)可以使用消息代理(如RabbitMQ、ActiveMQ等)来管理订阅和广播消息。
- 应用逻辑可以组织在任意数量的
@Controller实例中,消息可以根据STOMP目标头来路由到这些实例;也可以通过单一的WebSocketHandler来处理给定连接的原始WebSocket消息。 - 可以使用Spring Security根据STOMP目标和消息类型来保护消息的安全性。