Я пытаюсь изучить реактивное программирование, используя слюни. Я делаю PO C, чтобы применить правила слюни к объекту.
public Mono<Order> findByOrderNo(String orderNo) {
Mono<Order> order = orderDAO.findByOrderNo ( orderNo );
KieSession kieSession = kieContainer.newKieSession("rulesSessionpart2");
kieSession.insert(order); // rules are not getting applied as it requires the object type
//as input
kieSession.fireAllRules();
kieSession.dispose();
return order;
}
Это мое тестовое правило:
import com.reactive.practice.springreactor.model.Order
rule "ReturnEligible for Order"
when
orderObject: Order(itemReturnEligible==true)
then
orderObject.setDescription("bdfgdfdfhdf");
end
Здесь метод kieSession.insert (order) требует объект в качестве входных данных, но в приведенном выше коде я передаю тип издателя Mono.
Я попытался преобразовать Mono в объект Order с помощью block (). Как указано во многих документах, его не рекомендуется использовать, поскольку он блокирует операцию.
Есть ли другой способ преобразовать Mono в объект Order.
Любой помощь заметна. Спасибо