我使用Drools创建决策表,并且遇到大于字符('>')的问题。 我在Drools文档中看到,您可以使用'>'和'<',但我似乎出错了。Drools决策表,“规则中输入不匹配”>'
列是(我没有足够的声誉还没有发表图片):
- |条件|
- | | (空单元格)
- | duration> |
- |时长|
- | 50 |
- | 200 |
问题是,架构不允许我得到完整的对象。我只能从RemoteObject
获得一些字段。 所以我可以做的事情是:
Integer duration = getRemoteObjectDuration();
kSession.insert(duration);
kSession.fireAllRules();
导致:
[6,2]: [ERR 102] Line 6:2 mismatched input '>' in rule "RuleTable_11"
[14,2]: [ERR 102] Line 14:2 mismatched input '>' in rule "RuleTable_12"
[0,0]: Parser returned a null Package
我可以创建一个包含我的领域为虚拟对象,但必须有更好的东西做的。 有没有人有这个想法?
CONDITION下面不能有空单元格。 field(!)'duration'所在类的名称是什么?没有什么像“Java方面的整数”。将Integer对象作为事实插入除非在特殊情况下才有用。 – laune
谢谢,我编辑了这篇文章。我试着用一个只包含我的领域的虚拟对象,它的工作原理,也许这是唯一的解决方案... –