0

我们的团队正在使用 Drools 规则流进行评估。现在我们计划改为迁移到决策表。

在 Drools 规则流版本中,我们曾经拥有具有查询组件的 DRL 文件,用于从工作内存中提取在 DRL 文件上下文中创建的对象。

我坚持在决策表中做同样的事情?我们使用 StatefulSession 来触发规则。此外,这些事实被插入到规则的 RHS 中;在解雇它们时,我们没有 FactHandles。

用于引导 Drools 规则引擎的代码如下:

RuleBase ruleBase = RuleBaseFactory.newRuleBase();
StatefulSession session = ruleBase.newStatefulSession(); 
MyFacts nmrs = new MyFacts();
session.insert(nmrs);
session.fireAllRules();

用于检索查询的 drools 文件如下所示:

query "resultQuery"
    response :  Outcome()
end

谢谢

4

1 回答 1

0

目前还没有直接支持 XLS 决策表中的查询。但是,决策表编译为 drl 本身 - 因此可以在事后以编程方式将查询添加到 drl(可能在单独的 DRL 文件中)。

您还可以获得所有事实句柄的集合,并(丑陋)通过寻找 instanceof Outcome 等进行迭代......

于 2010-02-18T10:35:13.977 回答