好处

使用STOMP作为子协议,让Spring Framework和Spring Security提供了比使用原始WebSockets更丰富的编程模型。同样的观点也适用于HTTP与原始TCP之间的比较,以及它如何让Spring MVC和其他Web框架提供丰富的功能。以下是一些好处:

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

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

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

  • 应用程序逻辑可以组织在任意数量的@Controller实例中,并且消息可以根据STOMP目标头路由到它们,而不是使用单个WebSocketHandler处理给定连接的原始WebSocket消息。

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