2016-11-09 98 views
0

在Esper中使用時間窗口時,窗口中的舊事件或已刪除事件將作爲輸出發送到附加到該語句的UpdateListener。這是根據該文件應該發生的事情。但是當我執行下面的代碼時,即使一個新的滑動窗口啓動,它在oldEvents中也沒有任何事件。它甚至發生在長度窗口。Esper。無法在偵聽器中接收刪除事件

EPStatement statement1 = epAdmin.createEPL("select current_timestamp, sum(price)" + " from StockTick.win:time(5 sec)"); 

statement1.addListener(new UpdateListener() { 
     @Override 
     public void update(EventBean[] newEvents, EventBean[] oldEvents) { 
      System.out.println("sum \t" + newEvents[0].getUnderlying() + "\n"); 
      System.out.println("old sum \t" + oldEvents[0].getUnderlying() + "\n"); 
     } 
    }); 

當我發送事件到該查詢中,UpdateListener得到newEvents進入窗戶newEvents但是當一個事件從進一步滑動窗口取出,它應該出現在oldEvents但我沒有得到任何事件到它。

我在構造監聽器或語句時是否有任何錯誤。

回答

0

默認情況下,除非select子句具有「irstream」,否則引擎不會輸出移除流。

select irstream current_timestamp, ....