使用响应式 mongo 模板迭代大型结果的推荐方法是什么?
我找不到阻塞 MongoTemplate::stream() 操作的反应替代方案,它使用 MongoDB 游标(并且工作得很好)。
当我使用 Reactive 模板做最明显的事情时,我的应用程序工作了一段时间,然后毫无例外地卡住了(下面的 Kotlin 代码段):
/* Repository */
fun findByStatus(status: Status): Flux<Event>
/* Service */
repository.findByStatus(status).buffer(1000).collect { events ->
// process batch of events
}
我不明白 - 如果它试图获取内存中的所有结果,它应该立即因 OOM 失败,但不会在一段时间后卡住,对吗?
我究竟做错了什么?