【发布时间】:2014-04-24 16:58:18
【问题描述】:
我一直在使用以下链接来玩新的 spring 4 websockets:
http://spring.io/guides/gs/messaging-stomp-websocket/
我想知道是否必须使用 stomp 代理才能使用 spring 框架?有没有经纪人少的方法来使用它?
谢谢
【问题讨论】:
标签: java spring websocket stomp spring-websocket
我一直在使用以下链接来玩新的 spring 4 websockets:
http://spring.io/guides/gs/messaging-stomp-websocket/
我想知道是否必须使用 stomp 代理才能使用 spring 框架?有没有经纪人少的方法来使用它?
谢谢
【问题讨论】:
标签: java spring websocket stomp spring-websocket
本指南使用 Spring Framework 中提供的simple broker implementation。它只是一段 Java 代码,在那个设置中没有真正的代理。所以是的,有一种无需代理的方式来使用它,而且您已经在这样做了。
虽然此实现缺少许多功能,但您可能希望在生产中使用真正的代理(如 RabbitMQ)。
编辑:
您不必必须使用 STOMP 和消息代理,实际上您可以直接使用 Websocket API。如this presentation中所述:
直接使用 WebSocket API 有点像编写自定义 Servlet 应用程序,但 WebSocket 协议的级别低于 HTTP。
根据您的应用目标,您可能会选择消息驱动的应用程序;靠自己解决不是一件容易的事...
【讨论】:
我建议不要使用 STOMP,因为它需要在您的代码中嵌入一个框架。框架来来去去,需要更新。
您可以使用 Spring(引导)WebSocket 通道来传递 JSON,而无需使用 STOMP。如果您正在使用前端应用程序(例如 JavaScript),JSON 已经是您的“模型”数据,可以轻松地双向传递/解析。
WebSocket API 包含的内容足以让您实现 onConnect()、onMessage()、onError()。其实我更喜欢这个,因为我可以控制。例如在 onConnect 中,您可以验证令牌并自定义安全性。
【讨论】: