Events 获取满足条件的最新事件
有什么方法可以得到满足某个谓词的最新事件吗 例如,如果我编写此规则:Events 获取满足条件的最新事件,events,drools,drools-fusion,Events,Drools,Drools Fusion,有什么方法可以得到满足某个谓词的最新事件吗 例如,如果我编写此规则: rule 1: when myObject: MyObject(id == "id1" && name == "name1" && type == "type1") then myObject.doSomething(); 我希望仅当最近插入的id为“id1”的MyObject对象具有给定的名称和类型时,才会触发该规则。 请注意,一次可能有多个具有此id的MyObjec
rule 1:
when
myObject: MyObject(id == "id1" && name == "name1" && type == "type1")
then
myObject.doSomething();
我希望仅当最近插入的id为“id1”的MyObject
对象具有给定的名称和类型时,才会触发该规则。
请注意,一次可能有多个具有此id的MyObject
本质上,我想这样做:
rule 1:
when
myObject: (Get the latest MyObject with its id == "id1") and
( myObject.name == "name1" && myObject.type == "type1") )
then
myObject.doSomething();
我使用的是Drools 6.2.0。假设您确实有事件,这需要
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
我对答案做了一些修改,使之准确地反映出我想要的。