2012-02-17 50 views
0

我有一个进程在drools中设置了一个进程变量。我希望能够根据变量动态更改调用哪些规则流组。Drools Flow动态Ruleflowgroup参数

我曾尝试ruleflowgroup设置为#{} ruleFlowGroupName但规则从未激活。

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

我以前用的可重构子,其中的进程ID是一个过程变量和过程中的主要进程运行时动态地被替换做到了这一点。

我希望能够与指定ruleflowgroup也做到这一点。

有什么想法?

回答

0

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

+0

通过在动态子过程中拥有一套规则,规则可以更简单。现在,每个子流程在规则流组中执行一组规则,控制激活。我可以有一个大规则流组,并添加一个可以测试流程变量的附加子句。对于更大的规则集,这可能会变得很麻烦,因此使用不同名称和交换规则流组的规则流组中的较小集合要简单得多。现在我只交换子进程,但是如果我可以动态更改规则流组,我可以使用相同的子进程。 – strickon 2012-02-24 19:49:03

0

它的确是真实的动态ruleflowgroup名目前不支持。我为此创建了一个JIRA,以便我们可以跟踪这一点,并且可以随时更新任何进度。

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

,你认为这可能是有用的,因为有可能是替代品/替代方法已经这确实是描述的情况是有用的。

+0

我有一个子进程在子进程之前根据规则流组动态换出。每个子过程都是相同的。它基本上是一些脚本任务和规则流组。现在我有一个.drl和.rf作为与每个子流程相关的规则和流程。如果我可以动态更改规则流组的名称,则不再需要保留.rf文件,只需使用一个可以使用的通用文件。 – strickon 2012-02-24 19:40:54