Rus*_*lan 3 java spring stomp cluster-computing websocket
我正在 Spring 4 中使用内置消息代理和基于 WebSocket 的 STOMP 开发实时通知系统。
我想处理存在多应用程序服务器且用户目标未解析的情况(因为用户连接到另一台服务器)。Spring 文档声称有一个解决方案:
在多应用程序服务器场景中,由于用户连接到不同的服务器,因此用户目标可能仍未解析。在这种情况下,您可以配置一个目标来广播未解析的消息,以便其他服务器有机会尝试。这可以通过 Java 配置中 MessageBrokerRegistry 的 userDestinationBroadcast 属性和 XML 中 message-broker 元素的 user-destination-broadcast 属性来完成。
但没有这样的配置示例。如何设置服务器接收这些消息以及系统通道的认证参数?
在通过 STOMP 使用 WebSocket 处理多节点应用程序时,您必须配置和使用外部 STOMP 代理(例如 RabbitMQ),以便不同的应用程序实例可以相互通信。你已经在做了,对吗?
为了配置它们userDestinationBroadcast,只需userRegistryBroadcast为它们分配一个目标名称。当应用程序启动并且应用程序和代理之间的系统 TCP 连接建立时,这些目标将自动创建,并且一切都会正常且透明地工作。
我使用 Spring WebSockets、RabbitMQ 等编写了一个 Web 聊天应用程序,其配置可在此处获取。
我希望这有帮助。
| 归档时间: |
|
| 查看次数: |
2652 次 |
| 最近记录: |