2016-11-09 78 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, ....