理論的にはパターン pub/sub を知っているので、実際に実装したいと思います。
「ニュース」というチャネルをリッスンするサービスを含む Web アプリケーション (サブスクライバー) があります。このチャネルには、他のアプリケーション (パブリッシャー) のリストが入力されます。
それで、リアルタイムで受信したニュースについてログインしているユーザーに通知する方法を知りたいです。(twitter「new twitts」のようなもの)。
私が思うこと:
私の消費者サービスでは、受信したニュースを次のようなリストに保存できます。
@Consumer("myChannel")
public void recNews(New new) {
allNews.add(new);
}
次に、アプリケーションでタイマーを構成して、そのリストを読み取ってリセットし、現在のステータス (lastNews) を Web コントローラーに送信します。
@Timer("1 per minute")
public void lastNews() {
lastNews.add(allNews);
allNews = new ArrayList();
}
私は正しいですか?または、より良い解決策はありますか?