私は春のブートと一般的な春にちょっと新しいです。私はプロジェクトに投げ込まれ、私の足を濡らすための最初の "運動"は、フロントエンドでwebsocketプッシュ通知によって自動的に更新される簡単なニュースフィード機能を作成することです。関与Springbootでスケジュールされたwebsocketプッシュ
技術は、次のとおり一般的なフロントエンド・アプリケーションのための
- 角度メッセージ・ブローカ
- Springboot WebSocketを をからのメッセージを受信するためのWebSocket通信webosocket上
- ストンプを作成するため
- SockJS
- Stomp Message Broker(Java関連のフレームワーク)
私は、フロントエンドに達成したいことは次のとおりです。
- ビューが
- が
- は私のクライアントは、それに加入していることのWebSocketを使用してのストンプ・プロバイダーを作成しますロードされているのWebSocket接続を作成します
- キャッチサーバは、メッセージをプッシュし、角度ビュー
限り、サーバ側コードとして更新:
を- 設定のWebSocketのものと接続
- を管理するには、(エグゼキュータまたは
@Scheduled
経由?)サーバープッシュメッセージの時間のすべてのX量を持っています。
これまでのところ、サーバーサイドコードの最後の部分を除いてすべてを達成したと思います。次の例では、全二重モードでwebsocketを使用し、クライアントが何かを送信すると、サーバーはすぐにメッセージキューに応答し、すべてのサブスクライブされたクライアントが更新されます。しかし、私が望むのは、クライアントがリクエストを待つことなくサーバ自体がStomp
以上のものを送ることです。
最初に私は春@Controller
を作成し、それに@SendTo("/my/subscribed/path")
アノテーションを付けてメソッドを追加しました。しかし、私はどのようにそれを引き起こすのか分かりません。また、私は@Scheduled
を追加しようとしましたが、この注釈はvoid
の戻り値の型(およびNewsMessageオブジェクトを返しています)のメソッドでのみ機能します。
私が必要とするのは、クライアントがWebSocket接続を初期化してから、サーバーが一定の間隔でメッセージをプッシュした後です(またはイベントがトリガされたときには今は問題ありません)。また、新しいクライアントはすべて同じメッセージキューをリッスンし、同じメッセージを受信する必要があります。
あなたはGithubで多分孤独ですか? –
Spring Framework :: [WebSocketを使ってインタラクティブなWebアプリケーションを構築する](http://spring.io/guides/gs/messaging-stomp-websocket/) – Dun0523