Spring Data Mongodb反应性通量

问题描述

我有下一个代码。

private Flux<Company> saveCompanies(List<Company> companies) {
    return Flux.fromIterable(companies)
            .flatMap(c -> companyRepository.exists(QCompany.company.name.eq(c.getName()))
                    .flatMap(exists ->
                            !exists ? companyRepository.save(c) : Mono.empty()
                    ));
}

我应该怎么做,直到方法检查每个公司是否存在,如果不存在,请保存它。

所以我希望这种方法完成他的工作并等待完成。 为此,我这样调用此方法。

saveCompanies(companies).then().subscribe();

但它不会阻塞,直到完成。

我尝试按批量保存大小为10的公司。

但是,最终我明白了

com.mongodb.MongoWaitQueueFullException: Too many threads are already waiting for a connection.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...