好处
使用STOMP作为子协议,让Spring Framework和Spring Security提供了比使用原始WebSockets更丰富的编程模型。同样的观点也适用于HTTP与原始TCP之间的比较,以及它如何让Spring MVC和其他Web框架提供丰富的功能。以下是一些好处:
-
无需发明自定义消息协议和消息格式。
-
STOMP客户端,包括Spring Framework中的Java客户端,都是可用的。
-
您可以(可选地)使用消息代理(如RabbitMQ、ActiveMQ等)来管理订阅和广播消息。
-
应用程序逻辑可以组织在任意数量的
@Controller
实例中,并且消息可以根据STOMP目标头路由到它们,而不是使用单个WebSocketHandler
处理给定连接的原始WebSocket消息。 -
您可以使用Spring Security根据STOMP目标和消息类型来保护消息。