Drools клиентский объект kie java изменен в правиле, не получая в результате
Я использую kie-server 7.0 и kie-java-client 7.0. Я написал простое правило на рабочем месте:
rule "Hello World"
when
a:CartDetails(minPurchaseAmt==10000)
then
a.setMinPurchaseAmt(20.0f);
System.out.println( "Test rule executed success");
end
Это мой код клиента:-
Command<?> insert = commandsFactory.newInsert(fact, "CartDetails",true,"DEFAULT");
Command<?> fireAllRules = commandsFactory.newFireAllRules();
Command<?> factObjects = commandsFactory.newGetObjects();
Command<?> batchCommand = commandsFactory.newBatchExecution(Arrays.asList(insert,fireAllRules,factObjects));
ServiceResponse<ExecutionResults> executeResponse = rulesClient.executeCommandsWithResults("couponengine_1.0", batchCommand);
Я получаю "УСПЕХ" в ответ, но не обновленный объект. (Поскольку я вызываю setMinPurchaseAmt() в части правила then)
Пожалуйста, скажите, если вам нужно больше информации.
1 ответ
Вы должны использовать функцию обновления, чтобы дать команду движку drools обновить значение факта. Добавьте обновление (а) в затем часть правила. Попробуйте с этим подходом и поделитесь результатами