Поглотите значение Mono и используйте его для вызова другого Mono - PullRequest
0 голосов
/ 27 декабря 2018

Мой код структурирован таким образом -

Mono<Address> m1 = method1() // this call returns address
Mono<Boolean> m2 = method2() // this call uses ReactiveMongoTemplate and updates document in Mongo

Я пытаюсь добиться этого:

когда method1 () возвращает мне адрес, мне нужно использовать его и вызвать method2 () обновить адрес в документе MongoDB.Исключений также не было.Но я не вижу никаких журналов внутри method2 ()

Код:

Mono<Object> m1 = method1().map(address -> method2(address));

Несмотря на то, что method2 () вызывается, обновление документа в MongoDB не происходит.

1 Ответ

0 голосов
/ 27 декабря 2018

Ваш фрагмент кода возвращает Mono<Mono<Boolean>>, поэтому ничто не подписывается на внутренний Mono.

Возможно, вам следует использовать оператор Mono.flatMap , например:

Mono<Boolean> m1 = method1().flatMap(address -> method2(address));

Этот оператор сгладит цепочку операций.

...