私は、非ブロッキングI/O(Spring Boot 2.0.0.M7)にSpring Webflux、Spring Data、およびProject Reactorを使用しています。将来のイベントのために有限ソース上のリアクティブストリームが残っています
私の目標は、クライアントがいくつかの基準に基づいてエンドポイントからすべてのリソースを要求できるように株式ティッカーのようなAPIを作成し、最初のリクエスト後に作成される新しいリソースを受け取ることです。 Reactive MongoDBはバッキングストアです。基本的なHandlerFunction
の実装は以下のようになります。明らかに
Mono<ServerResponse> getFoos(ServerRequest request) {
ok().contentType(TEXT_EVENT_STREAM)
.body(fooRepository.findAll(), Foo)
}
、これはちょうどそのPublisher
は接続を閉じ、新しいFoos
がクライアントに送信されません、現在入手可能なすべてのFoos
を返します。私の質問は、これに新しいエントリを受け入れることができる無限のストリームを追加するためにどのようなパターンを使用するのですか?私は新しいFoos
彼らは
repeat
を(重複したエントリをフィルタリングするために、いくつかの基準に)Repository
にresubscribes onComplete
を追加し、クライアントを聞かせて作成されるように書き込みをいくつかのグローバルPublisher Bean
と
- 、連結方式重複をフィルタリングする
- 他に何か?
これについてのちょっとした質問です。つまり、これが機能するには別のコレクション(Capped)を作成する必要がありますか? – pvpkiran
コレクションには実際にキャップが必要です。これがMongoDBでこの機能を利用するための条件です。 –
ありがとうございます。 MongoDBも新しく、Mongo固有のセクションを読まなかった。 – JudgingNotJudging