Как извлечь объекты фактов из таблиц решений в Drools 4.x - PullRequest
0 голосов
/ 18 февраля 2010

Наша команда использует потоки правил Drools для оценок. Теперь мы планируем перейти на таблицы решений.

В версии потока правил Drools у нас были файлы DRL с компонентом запроса для извлечения объектов, созданных в контексте файлов DRL, из рабочей памяти.

Я застрял на том же самом в Таблице решений? Мы используем StatefulSession для правил стрельбы. Кроме того, эти факты включены в RHS правил; у нас нет FactHandles во время их увольнения.

Код, используемый для загрузки механизма правил Drools, выглядит следующим образом:

RuleBase ruleBase = RuleBaseFactory.newRuleBase();
StatefulSession session = ruleBase.newStatefulSession(); 
MyFacts nmrs = new MyFacts();
session.insert(nmrs);
session.fireAllRules();

Файл drools, используемый для получения запроса, выглядел следующим образом:

query "resultQuery"
    response :  Outcome()
end

Спасибо

1 Ответ

0 голосов
/ 18 февраля 2010

В настоящее время нет прямой поддержки запросов в таблицах решений XLS. Однако таблицы решений компилируются до самого drl - так что можно программно добавлять запросы к факту в drl (возможно, в отдельном файле DRL).

Вы также можете получить коллекцию всех дескрипторов фактов и (некрасиво) выполнить поиск экземпляра Outcome и т. Д.

...