web-dev-qa-db-ja.com

Spring MVC WebAppのプッシュ通知

私は現在、Spring MVCを使用してフォーラムWebアプリケーションを作成しています。私はSpringの初心者であり、約1週間しか使用していません。

プッシュ通知を実装する必要があります。シナリオは次のとおりです。ユーザーAがログインして投稿を作成します。ユーザーAがまだログインしている間に、ユーザーBがユーザーAの投稿にコメントします。ユーザーAは、ブラウザーがページを更新せずに、一部のユーザーが自分の投稿にコメントしたという通知を受け取ります。

ユーザーBが自分の投稿に非同期でコメントしたという通知をユーザーAに送信する方法を知りたい。調べたところ、使用できるCometDというパッケージがあることがわかりましたが、理解できる簡単なチュートリアルが見つかりません。

誰かが私の問題を解決するために他のパッケージ/方法を提案できますか?または、簡単なCometDチュートリアルがあれば、それも素晴らしいでしょう。

14
COBOL

私はCometDプロジェクトのリーダーです。

CometDには、cometDがどのように機能するかを理解するための基礎として使用できるチャットアプリケーションが組み込まれているデモwarファイルが付属しています。 を参照してくださいhttps://docs.cometd.org/current/ reference /#_ installation

CometDの完全なリファレンスドキュメントはこちらです: https://docs.cometd.org .

経験上、チャットの実装にサーブレット3.0非同期機能を使用することはお勧めしません。WebSocketの使用が除外されるためです。

(より効率的であるため)WebSocketで開始し、WebSocketが機能しない場合はHTTPに自動的かつ透過的にフォールバックできるCometDなどのフレームワークに依存することをお勧めします。

同様のメモで、WebSocketは特定のシナリオ(たとえば、モバイルネットワークではWebSocketトラフィックを許可しないことが多い)で機能しないため、WebSocketのみのアプローチはお勧めしません。また、プロトコルが低すぎるため、ビルドする必要があります。 WebSocket上の独自のプロトコル(これは多くの作業であり、正しく行うのは容易ではありません)。

CometDは、拡張が容易なプロトコルと自動トランスポートフォールバックを提供し、多くの機能を備えています(たとえば、承認と認証、2つだけのクラスタリングなど)。

7
sbordet

Spring MVCチャットサンプルアプリ を見て、Spring MVC 3.2の場合、Spring ブログ投稿 についてもご覧ください。

5