0

我在 StatefulKnowledgeSession 中插入了元素列表。现在在 drools .drl 文件的 When 子句中,我需要比较列表中不同元素的一些属性值。

例如,我有一个宠物列表 [在会话中添加为 kbSession.insert(list) ],其中每个宠物都有一个名称属性 (pet1.name = "adi", pet2.name="flix")。那么什么最适合在 when 子句中检查这些项目?

在我的 test.drl 文件中说我有

规则“宠物物品”

方言“java”

什么时候

 list.get(0).name != list.get(1).name

然后

 do something!

非常感谢任何建议!

亲切的问候,

谢赫

4

1 回答 1

0

您正在尝试根据规则验证您的所有 Pet 对象(技术正确术语 - 事实)?然后你不需要将它作为列表插入。将所有 Pet 对象一一插入为 session.insert(petObj) 和 fireAllRules。规则引擎将根据规则检查所有对象,然后为匹配的对象激活规则。

于 2012-09-06T15:23:21.527 回答