2014-02-28 71 views
0

我已經添加到我的應用程序,它取得了發送通知從服務器端的web客戶端,方便的踐踏/ WebSocket的支持。但是,由於這需要服務器端消息代理,我想知道是否有可能使服務器端組件訂閱從服務器發佈的「主題」?將消息發送到非踐踏/ WebSocket的消費者

例如,我使用SimpMessagingTemplate播放某些狀態更新到所有連接的客戶端踐踏,但我也有訂閱,以及服務器端的對象?

我的解決方案,現在是一個黑客攻擊的一位。服務器端不使用SimpMessagingTemplate,而是使用Project Reactor生成通知類型廣播,其中一個消費者是使用SimpMessagingTemplate中繼消息的網橋。這允許我的Java組件以及我的Stomp客戶端獲得更新,但對我來說似乎過度。

回答

0

你也可以註冊的「brokerChannel」一ChannelInterceptor。這是SimplMessagingTemplate發送消息的渠道。這將允許您檢測從應用程序流向消息代理的所有消息。

這可能是足以讓許多情況下,但是在更多的分佈式環境中可能有多個應用程序實例在這種情況下,你只能從一個應用程序實例檢測的消息。我們可以考慮提供一些機制,在給定主題列表的情況下接收經紀人信息。您只需配置主題列表並提供MessageHandler。如果你可以請create a ticket in JIRA

相關問題