0

理論的にはパターン 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();
}

私は正しいですか?または、より良い解決策はありますか?

4

2 に答える 2

1

カスタム ソリューションを構築するのではなく、SignalR ( https://github.com/SignalR/SignalR/wiki )を調べます。配管とインフラストラクチャに関する多くの懸念事項を処理し、Web アプリケーションに最適です。

于 2013-03-14T05:48:55.690 に答える
0

サブスクライバーは、受信を試みる前に、メッセージを受信したいことをパブリッシャー (チャネル) に伝えます。チャネルは受動的な流れではなく、能動的なプロセスです。

Apache Camelを使用します。

またはIPマルチキャストを調べます。

于 2013-03-14T18:01:14.797 に答える