2014-07-17 97 views
14

使用Spring Websockets製作類似聊天應用程序的東西時,瞭解所有訂閱任何主題的人都很有用。對於例如狀態數據顯示在客戶端中。如何在春季websockets中查找訂閱主題的所有用戶

我知道我可以實現ApplicationListener並保留自己的「連接用戶」列表,但似乎庫已經在做這項工作。

什麼是直接從庫中獲取活動訂閱信息的推薦方式(並且不需要在內存或數據庫中維護我自己的列表)。

回答

2

你是對的,你可以使用ApplicationContext events,但不幸的是這些事件處理用戶會話事件和代理事件 - 所以當用戶訂閱特定主題時不會收到通知。

當使用SimpleBrokerMessageHandler時,可以通過獲取SubscriptionRegistry來做到這一點。但同樣,SimpleMessageBroker不適用於生產用途。

如果您使用RabbitMQ,您可以從其REST API獲取該信息。

問題是,這對於代理實現非常具體,所以我想知道在Spring Framework中這樣的功能是否有意義。你可以打開JIRA issue開始討論嗎?

+0

您可以使用「消息傳遞」組件針對「Spring Framework」(aka SPR)項目創建新問題。謝謝! –

+0

https://jira.spring.io/browse/SPR-12029 – npskirk

+0

太棒了,謝謝! –