2014-11-25 49 views
0

我想用NEsper測量具有唯一標識的汽車的時間。我的問題是,道路上有幾輛車。這條路有預定義的步驟。我想要開始停止每一輛獨一無二的汽車的時間,直到這款汽車獲得最後一步。使用Nesper對獨特對象進行時間測量

select ice.* from pattern[ice = IncomingCarEvent -> every timer:interval(1 sec) and not LastStepEvent] 

問題是,我不知道如何將汽車與給定的ID分開。在這個例子中,如果其中一輛車接收到最後一步,則該事件不再觸發。

回答

0

我不是很清楚你爲什麼要測量,直到最後一步,並且模式顯示「不是拉斯特斯特」。 分區可以通過關聯模式中的事件來完成,例如「a = A => B(id = a.id)」。 您也可以使用此鏈接中的上下文聲明進行分區:http://esper.codehaus.org/esper-5.1.0/doc/reference/en-US/html_single/index.html#context_def_keyed 或者您可能會發現匹配識別更易於使用,因爲它具有更多的逐步方法來表達比較類似正則表達式的匹配。

+0

我的想法是發動一個事件,直到汽車沒有達到最後一步。感謝提及上下文,我會嘗試它。 – HassanJackson 2014-11-26 12:19:53

+0

我沒有找到這方面的例子,但也許可以測量某個特定汽車到達最後一步之前的時間,然後用測量的時間點燃事件。這對我來說也是一種選擇。 – HassanJackson 2014-11-26 13:58:52