Spring 4 Web套接字 - 我必须有一个stomp经纪人吗?

时间:2014-04-24 16:58:18

标签: java spring websocket stomp spring-websocket

我一直在使用以下链接来玩新的弹簧4网页插座:

http://spring.io/guides/gs/messaging-stomp-websocket/

我想知道我是否必须使用stomp代理才能使用spring框架?有没有经纪人使用它的方式?

感谢

2 个答案:

答案 0 :(得分:3)

本指南使用Spring Framework中提供的simple broker implementation。它只是一段代码中的Java代码 - 在该设置中没有实际的代理。所以,是的,有一种无需经纪人的方式来使用它,你已经在做了。

此实现缺少许多功能,您可能希望在生产中使用真实的代理(如RabbitMQ)。

修改

您不必使用STOMP和消息代理,实际上您可以直接使用Websocket API。如this presentation中所述:

  

直接使用WebSocket API有点像编写自定义Servlet   应用程序,但WebSocket协议的级别低于HTTP。

根据您的应用目标,您可能会转向消息驱动的应用程序;不是一件容易自己解决的任务......

答案 1 :(得分:0)

我建议不要使用STOMP,因为它需要将框架嵌入到您的代码中。框架来了又去,需要更新。

您可以使用Spring(引导)WebSocket通道来传递JSON,而无需使用STOMP。如果您正在使用前端应用程序(例如JavaScript),那么JSON已经是您的“模型”数据,可以轻松地双向传递/解析。

WebSocket API包含足够的内容,能够onConnect(),onMessage(),onError()实现。实际上我更喜欢这样做,因为我可以控制。例如,在onConnect中,您可以验证令牌并自定义安全性。