2

リアクティブ mongo テンプレートを使用して大きな結果を反復するための推奨される方法は何ですか?

MongoDB カーソルを使用する (そして完全にうまく機能する) ブロッキング MongoTemplate::stream() 操作のリアクティブな代替手段が見つかりません。

Reactive テンプレートで最も明白なことを行うと、アプリはしばらく動作し、その後は例外なく動かなくなります (以下の Kotlin スニペット):

/* Repository */

fun findByStatus(status: Status): Flux<Event>

/* Service */

repository.findByStatus(status).buffer(1000).collect { events ->
       // process batch of events
}

わかりません - メモリ内のすべての結果をフェッチしようとすると、すぐに OOM で失敗するはずですが、しばらくしてスタックすることはありませんよね?

私は何を間違っていますか?

4

0 に答える 0