Как динамически выбирать правила drools для выполнения на уровне задач бизнес-правил? - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть несколько правил слюни, которые я хочу использовать в разных потоках правил. Поскольку правило Drools одновременно поддерживает только одно имя группы правил и задача бизнес-правила потока правил также может быть сопоставлена ​​с одной группой правил, я не могу использовать одно и то же правило в разных потоках правил. Есть ли другой способ, который я могу использовать для фильтрации правил? как использовать теги или и метаданные?

1 Ответ

0 голосов
/ 09 ноября 2018

Вы можете создавать свои собственные группы правил. Вы создаете класс OwnRuleGroup с группой String в нем в качестве поля. Затем, когда вы запускаете правила, вы создаете экземпляр своего собственного правила grup:

OwnRuleGroup myGroup = new OwnRuleGroup();
myGroup.group = "foo";

и вставьте его в сессию с другими фактами. В каждом правиле вы можете указать, какую из групп вы хотите использовать.

rule "This will fire for groups foo,bar"
when 
  OwnRuleGroup(group in ["foo", "bar"])
...