Я новичок в реактивном программировании. У меня есть кусок кода, который должен выполняться параллельно только после того, как параллельное задание закончится над кодом, после которого оно должно быть выполнено
//step 1 parallel stuff
Flux.fromIterable( sourceOneMap.keySet() )
.parallel()
.runOn( Schedulers.parallel() )
.subscribe( compId -> {
Mono.just( compId )
.then( checkIfSystemTwoContainsSystemOneInfo(compId,sourceOneMap,sourceTwoMap,new Timestamp( new Date().getTime() )) )
.doOnError( e -> log.info( "error {}", e.getStackTrace()) );} );
//step 2
return new MissingCountResult( rtbmDao.findCount(), new Date() );
Теперь, когда я запускаю свой код, шаг 2выполняется первым, а затем шаг 1. Шаг 2 зависит от шага 1. Шаг 1 должен конкурировать первым. Есть способ, которым я могу заблокировать шаг 2 до завершения шага 1.