Я использую нереактивный репозиторий, поэтому мне нужно подписаться на Mono, который содержит объект, чтобы сохранить его в базе данных.
Как мне вернуть значение, возвращаемое Consumer, вызванным внутри Mono.subscribe()?
public SomeEntity saveSomeEntity(Mono<SomeEntity> someEntityMono) {
someEntityMono.subscribe(someEntity -> someEntityNotReactiveRepository.save(someEntity));
...
}
В этом случае я хотел бы вернуть результат someEntityNotReactiveRepository.save(someEntity).
Может быть, есть альтернатива использованию subscribe() (кроме block()), которая могла бы помочь мне достичь того, что мне нужно?
Хорошо, спасибо за разъяснения. К сожалению, я не имею права голоса в этом вопросе. Руководство слишком стремилось перейти к реактивному программированию с Oracle 11, прекрасно подходящей для нашей базы данных.
Я не знаю контекста, поэтому без суждений. Спросите их, есть ли долгосрочный план. Потому что есть вещи, которые вы можете сделать здесь.




извините, вам нужно где-то заблокировать(). Если ваш стек не полностью реактивен, нет смысла использовать реактивный подход. Это просто усилитель сложности. Без пользы.