0
EsperでTimeウィンドウを使用すると、ウィンドウからの古いイベントまたは削除されたイベントが、ステートメントに関連付けられた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で存在しなければならないが、私はそれにすべてのイベントを取得できませんでした。
リスナーやステートメントの作成中に間違いがありますか?