Есть ли способ получить последнее событие, удовлетворяющее определенному предикату?
Например, если я напишу это правило:
rule 1:
when
myObject: MyObject(id == "id1" && name == "name1" && type == "type1")
then
myObject.doSomething();
Я хочу, чтобы правило запускалось только в том случае, если объект MyObject
, вставленный последним с идентификатором "id1"
, имеет заданное имя и тип. Обратите внимание, что одновременно может быть несколько 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.