Spring stomp多应用服务器

时间:2017-03-24 19:48:44

标签: java spring websocket cluster-computing stomp

我在Spring 4中使用内置Message Broker和STSP over WebSocket开发实时通知系统。

我想处理多应用服务器并且用户目标未解析的情况(因为用户连接到另一台服务器)。 Spring docs声称有一个解决方案:

  

在多应用程序服务器方案中,可以保留用户目标   未解决,因为用户已连接到其他服务器。在   在这种情况下,您可以将目标配置为未解析的广播   消息,以便其他服务器有机会尝试。这可以   通过userDestinationBroadcast属性完成   Java配置中的MessageBrokerRegistry和   message-broker元素的user-destination-broadcast属性   XML。

但是没有这种配置的例子。如何设置服务器以接收系统通道的这些消息和身份验证参数?

1 个答案:

答案 0 :(得分:3)

在使用基于STOMP的WebSockets处理多节点应用程序时,必须配置和使用外部STOMP代理(例如RabbitMQ),以便不同的应用程序实例可以相互通信。你已经在做了吗,对吗?

为了配置userDestinationBroadcastuserRegistryBroadcast,只需为其分配目的地名称。当应用程序启动并且应用程序和代理之间的系统TCP连接建立时,这些目标将自动创建,一切都将正常,透明地工作。

我使用Spring WebSockets,RabbitMQ等编写了一个Web Chat应用程序,其配置为available here

我希望这会有所帮助。