Измерение времени уникальных объектов с помощью Nesper
Я бы хотел измерить время автомобилей с уникальным идентификатором с помощью NEsper. Моя проблема в том, что на дороге есть несколько машин. Эта дорога имеет заранее определенные шаги. Я хочу начать останавливать время для каждого уникального автомобиля, который находится на первом этапе, пока этот автомобиль не получит последний шаг.
select ice.* from pattern[ice = IncomingCarEvent -> every timer:interval(1 sec) and not LastStepEvent]
Проблема в том, что я не знаю, как отделить автомобили с заданным идентификатором. В этом примере, если один из автомобилей получает последний шаг, событие больше не срабатывает.
1 ответ
Я не очень понимаю, почему вы измеряете до последнего шага, и шаблон говорит "не последний шаг". Разделение может быть сделано путем сопоставления событий в шаблонах, таких как "a=A => B(id=a.id)". Вы также можете разделить, используя контекстное объявление, которое находится по этой ссылке: http://esper.codehaus.org/esper-5.1.0/doc/reference/en-US/html_single/index.html. Или вы можете найти распознавание совпадений проще в использовании, так как в нем больше поэтапного подхода к выражению совпадения, чем в регулярных выражениях.