Получить имена сработавших правил, которые выполняются на сервере принятия решений со стороны клиента (Redhat Decision Manager) - PullRequest
0 голосов
/ 07 мая 2020

Я использую REST api для выполнения правил на сервере решений (Redhat Decision Manager 7.2) с использованием сеанса k ie без сохранения состояния. В настоящее время я получаю количество сработавших правил, но я также хочу получить имена этих правил. Возможно ли это?

KieServicesConfiguration conf = KieServicesFactory.newRestConfiguration(URL, USER, PASSWORD);

List<GenericCommand<?>> commands = new ArrayList<GenericCommand<?>>();

commands.add((GenericCommand<?>)
KieServices.Factory.get().getCommands().newInsert(applicant, "applicant"));

commands.add((GenericCommand<?>)
KieServices.Factory.get().getCommands().newInsert(loan, "loan"));

commands.add((GenericCommand<?>)KieServices.Factory.get().getCommands().newFireAllRules("numberOfFiredRules"));

KieCommands kieCommands = KieServices.Factory.get().getCommands();

BatchExecutionCommand batchCommand = kieCommands.newBatchExecution(commands, "default-stateless-ksession");

ServiceResponse<ExecutionResults> executeResponse = ruleServicesClient
                .executeCommandsWithResults("loan-application_1.2.0", batchCommand);

System.out.println("Number of fired rules:" executeResponse.getResult().getValue("numberOfFiredRules"));

1 Ответ

0 голосов
/ 07 мая 2020

Вы должны использовать AgendaEventListener, чтобы отслеживать выполняемые правила. Реализовав интерфейс org.k ie .api.event.rule.AgendaEventListener , вы можете записать эти данные.

...