有什么方法可以让我得到满足某个谓词的最新事件?
例如,如果我写这条规则:
rule 1:
when
myObject: MyObject(id == "id1" && name == "name1" && type == "type1")
then
myObject.doSomething();
我希望仅当最近插入的MyObject
对象具有给定的名称和类型时才会触发规则。
请注意,一次可能有多个"id1"
具有此ID。
从本质上讲,我想做这样的事情:
MyObject
我正在使用Drools 6.2.0。
答案 0 :(得分:2)
假设您确实有需要
的事件declare MyObject
@role( event )
end
你可以写下这条规则:
rule "latest id1-name1-type1"
when
myObj: MyObject( id == "id1", name == "name1", type == "type1" )
not MyObject( this after myObj, id == "id1" )
then
myObj.doSomething();
end