【问题标题】:Drools Flow dynamic Ruleflowgroup parameterDrools Flow 动态 Ruleflowgroup 参数
【发布时间】:2012-02-17 16:23:51
【问题描述】:

我在 drools 中有一个进程,其中设置了一个进程变量。我希望能够根据变量动态更改调用的规则流组。

我已尝试将规则流组设置为 #{ruleFlowGroupName},但规则从未激活。

我在规则流组之前有一个脚本任务,它打印出变量的值并且它是正确的。

我之前用一个可重新配置的子进程完成了此操作,其中进程 id 是一个进程变量,当主进程运行时,该进程会被动态替换。

我也希望能够通过指定规则流组来做到这一点。

有什么想法吗?

【问题讨论】:

    标签: java variables drools drools-flow


    【解决方案1】:

    这样做的业务目标是什么?如果您有两组不同的规则来评估不同的数据,具体取决于您在 drools 引擎中插入的内容,则不需要有两个不同的规则流组。只会激活相关规则。 干杯

    【讨论】:

    • 通过在动态子流程中设置规则集,规则可以更简单。现在,每个子流程执行规则流组中的一组规则,控制激活。我可以拥有一个大型规则流组并添加一个附加子句来测试流程变量。对于较大的规则集,这可能会变得很麻烦,因此将较小的集放入具有不同名称的规则流组中并交换规则流组要简单得多。现在我只是交换子流程,但如果我可以动态更改规则流组,我可以使用相同的子流程。
    【解决方案2】:

    目前确实不支持动态规则流组名称。我为此创建了一个 JIRA,因此我们可以跟踪它,您可以随时了解任何进展。

    https://issues.jboss.org/browse/JBPM-3552

    描述您认为这可能有用的情况确实很有用,因为可能已经有替代方案/解决方法。

    【讨论】:

    • 我有一个基于子流程之前的规则流组动态换出的子流程。每个子过程都是相同的。它基本上是一些脚本任务和规则流组。现在我有一个 .drl 和 .rf 用于与每个子流程关联的规则和流程。如果我可以动态更改规则流组的名称,我将不再需要保留 .rf 文件,而只需一个可以使用的通用文件。
    • 在 JIRA 上这被指示为已解决。您是否知道任何可用的文档或示例?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-27
    • 2017-08-29
    • 1970-01-01
    相关资源
    最近更新 更多