Предположим, что генерируются события типа A, B, C или D. Я хочу обнаруживать, когда за событием типа A следует событие типа B. Другими словами, я хочу обнаруживать последовательности, для которых Esper's EPL предоставляет оператор ->
.
Однако то, что я описал выше, неоднозначно, я хочу следующее: всякий раз, когда обнаруживается B, я хочу, чтобы он сопоставлялся с самым последним A.
Я играл с синтаксисом EPL, но лучшее, что я смог придумать, это следующее:
select * from pattern [(every a=A) -> b=B]
Это, однако, сопоставляет каждый B с самым старым A, который произошел после последнего совпадения. Странный...
Помощь очень ценится! :П