Spring WebFlux — возвращает значение, возвращаемое Потребителем, вызванным внутри Mono.subscribe();

Я использую нереактивный репозиторий, поэтому мне нужно подписаться на Mono, который содержит объект, чтобы сохранить его в базе данных. Как мне вернуть значение, возвращаемое Consumer, вызванным внутри Mono.subscribe()?

public SomeEntity saveSomeEntity(Mono<SomeEntity> someEntityMono) {
    someEntityMono.subscribe(someEntity -> someEntityNotReactiveRepository.save(someEntity));
...
}

В этом случае я хотел бы вернуть результат someEntityNotReactiveRepository.save(someEntity).

Может быть, есть альтернатива использованию subscribe() (кроме block()), которая могла бы помочь мне достичь того, что мне нужно?

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

piotr szybicki 22.01.2019 13:49

Хорошо, спасибо за разъяснения. К сожалению, я не имею права голоса в этом вопросе. Руководство слишком стремилось перейти к реактивному программированию с Oracle 11, прекрасно подходящей для нашей базы данных.

Arqan 22.01.2019 13:53

Я не знаю контекста, поэтому без суждений. Спросите их, есть ли долгосрочный план. Потому что есть вещи, которые вы можете сделать здесь.

piotr szybicki 22.01.2019 14:13
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
779
0

Другие вопросы по теме