我在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!
非常感谢任何建议!
亲切的问候,
Shekh
答案 0 :(得分:0)
您是否正在尝试根据规则验证所有Pet对象(技术权利术语 - 事实)?然后您不需要将其作为List插入。将所有Pet对象逐个插入session.insert(petObj)和fireAllRules。规则引擎将根据规则检查所有对象,然后激活匹配对象的规则。