如何动态选择流口水的规则以在业务规则任务级别执行?

时间:2018-11-08 16:22:47

标签: drools drools-flow redhat-brms

我想在不同的规则流中使用一些流口水的规则。由于Drools规则一次仅支持一个规则流组名称,并且规则流业务规则任务也可以与单个规则流组进行映射,因此我无法在不同的规则流中使用相同的规则。我还有其他方法可以用来过滤规则吗?例如使用标签或和元数据?

1 个答案:

答案 0 :(得分:0)

您可以创建自己的规则组。您创建一个带有字符串组的OwnRuleGroup类作为字段。然后,当您触发规则时,您将创建自己的规则组的实例:

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

并将其与其他事实一起插入会话。在每条规则中,您都可以指定要触发的组。

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