2016-11-09 3 views
0

При использовании окон времени в Esper старые или удаленные события из окна отправляются как вывод в UpdateListener, прикрепленный к оператору. Это то, что должно происходить в соответствии с документом. Но когда я выполняю код, как показано ниже, он не имеет никаких событий в oldEvents, даже начинается новое скользящее окно. Это даже случается с окном длины.Эспер. Невозможно принять события удаления в прослушивателях

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 нет «erirstream».

select irstream current_timestamp, .... 
Смежные вопросы