名前付きウィンドウがあるとしましょう:
CREATE WINDOW TestWindow.std:unique(FieldA) AS SELECT * FROM TestEvent;
ここTestEvent
で、RevisionEvent、およびTestEventBase
は、それぞれTestEventDelta
のベースイベントとデルタイベントで定義されTestEvent
ます。ここでの鍵はですFieldA
。
現在、ウィンドウにベースイベントのないデルタイベントがある場合、Esperはこのデルタイベントをサイレントに破棄しているように見えます。したがって、たとえば、デルタイベントがベースイベントの前に来る場合、デルタは破棄されるため、ウィンドウ内の行の状態はベースイベントのみのようになります。
私の質問は、たとえば、これが発生したときに特別な処理を行うために、ウィンドウに入ることができない場合にデルタイベントをキャッチする方法はありますか?
アプリケーションでメッセージを失わないようにする必要があり、Esperが他のメッセージではなく一部のメッセージを黙って破棄している場合、イベントがウィンドウに入ったことを100%確実にするにはどうすればよいですか?
よろしくお願いします!