Java 弹簧Webflux在焊剂中等待焊剂
这是一个场景,我有一个流量来自一个ReactiveMongoDB,另一个来自WebClient,soo 对于Mongodb中的每个项目,我需要在webclient中查找他的项目 问题是,我一直在使用block等待webclient itens的到来,这会影响性能 如果我不使用Block,那么响应是在没有来自webClient的itens的情况下发送的,所以它可能不会等待这个itens的到来 有没有办法在这个itens上拨打所有的电话,然后等待Java 弹簧Webflux在焊剂中等待焊剂,java,spring,spring-webflux,project-reactor,spring-mongodb,Java,Spring,Spring Webflux,Project Reactor,Spring Mongodb,这是一个场景,我有一个流量来自一个ReactiveMongoDB,另一个来自WebClient,soo 对于Mongodb中的每个项目,我需要在webclient中查找他的项目 问题是,我一直在使用block等待webclient itens的到来,这会影响性能 如果我不使用Block,那么响应是在没有来自webClient的itens的情况下发送的,所以它可能不会等待这个itens的到来 有没有办法在这个itens上拨打所有的电话,然后等待 return planetaRepository.
return planetaRepository.findAll().flatMap(planetaVO -> {
planetaServiceFacade.recuperarFilmesParticipados(planetaVO.getNome()).collectList().doOnNext(planetaVO::setFilmes).block();
return Flux.just(planetaVO);
});
您可以使用
然后return
return planetaRepository.findAll().flatMap(planetaVO -> {
return planetaServiceFacade.recuperarFilmesParticipados(planetaVO.getNome()).collectList()
.doOnNext(planetaVO::setFilmes)
.thenReturn(planetaVO);
});
如果不是被迫的话,我建议你不要用母语编写代码。更好:使用
map
将列表加载到planetaVO
,一次返回(而不是doOnNext
+然后返回)