我知道理論上的pub/sub模式,現在我想在實踐中實現它。Pub/Sub如何通知用戶登錄訂戶應用程序?
我有一個web應用程序(訂閱者),其中包含一個正在監聽名爲「news」的頻道的服務。此頻道由其他應用程序(發佈者)列表填充。
所以,我想知道,如何通知記錄的用戶實時收到的消息。 (像Twitter「新twitts」)。
我想什麼:
在我的消費服務我可以存儲的消息在列表收到類似:
@Consumer("myChannel")
public void recNews(New new) {
allNews.add(new);
}
然後,配置在我的應用程序定時器來讀取和重置列表和發送當前狀態(lastNews)到我的網絡控制器:
@Timer("1 per minute")
public void lastNews() {
lastNews.add(allNews);
allNews = new ArrayList();
}
我說得對不對?還是有更好的解決方案?