2014-02-28 67 views
0

我已经添加到我的应用程序,它取得了发送通知从服务器端的web客户端,方便的践踏/ WebSocket的支持。但是,由于这需要服务器端消息代理,我想知道是否有可能使服务器端组件订阅从服务器发布的“主题”?将消息发送到非践踏/ WebSocket的消费者

例如,我使用SimpMessagingTemplate播放某些状态更新到所有连接的客户端践踏,但我也有订阅,以及服务器端的对象?

我的解决方案,现在是一个黑客攻击的一位。服务器端不使用SimpMessagingTemplate,而是使用Project Reactor生成通知类型广播,其中一个消费者是使用SimpMessagingTemplate中继消息的网桥。这允许我的Java组件以及我的Stomp客户端获得更新,但对我来说似乎过度。

回答

0

你也可以注册的“brokerChannel”一ChannelInterceptor。这是SimplMessagingTemplate发送消息的渠道。这将允许您检测从应用程序流向消息代理的所有消息。

这可能是足以让许多情况下,但是在更多的分布式环境中可能有多个应用程序实例在这种情况下,你只能从一个应用程序实例检测的消息。我们可以考虑提供一些机制,在给定主题列表的情况下接收经纪人信息。您只需配置主题列表并提供MessageHandler。如果你可以请create a ticket in JIRA

相关问题