在drools中创建动态规则,在每个规则中具有不同数量的条件和操作

时间:2018-04-17 12:07:18

标签: drools drools-kie-server

我是Drools的新手。根据我的用例,我想动态创建规则。我考虑过使用以下规则模板:

 template header

 rule
 eventType

 package org.ossandme;

 global org.ossandme.AlertDecision alertDecision;

 template "alert"

 rule "alert_@{row.rowNumber}"

 when
      @{eventType}(@{rule})
 then
      alertDecision.setDoAlert(Boolean.TRUE);
 end

 end template

但是这个模板的问题在于它修复了条件和动作的数量(在这种情况下为1)。根据我的用例,我可能在不同的规则中有不同数量的条件和行为。是否有可能创建一个通用模板,可以创建规则,每个规则中具有不同数量的条件和不同数量的操作?

2 个答案:

答案 0 :(得分:0)

Drools模板只是String模板机制的一个奇特名称。您可以使用您想要创建规则的任何模板框架。

我过去使用过的一些框架是:

希望它有所帮助,

答案 1 :(得分:0)

另一个答案表明任何String模板框架都是正确的;或者,如果您需要基于Java的纯解决方案,您可能需要考虑使用可执行模型DSL动态编写规则。

您可以参考this blog post,其中包含指向参考的链接以及如何使用它的示例。