2016-07-26 13 views
0

Ich bin neu bei Esper und habe mit EPL Online getestet. Wenn ich ein benanntes Fenster erstellen und ein Ereignis einfügen, erhalte ich doppelte Ausgabe von beiden Anweisungen. Zum Beispiel:Esper - redundante Ausgabe unter Verwendung des benannten Fensters

Fenster erstellen OrdersNamedWindow.win:keepall() als OrderMapEventType;

in OrderSNamedWindow einfügen select * from OrderMapEventType;

Gibt es eine Möglichkeit, die Ausgabe von beiden Anweisungen zu deduplizieren? Vielen Dank im Voraus!

Antwort

0

EPL Online (http://esper-epl-tryout.appspot.com) in den "Alle Ausgangsereignisse" zeigt jeden möglichen Ausgang an. In diesem Fall werden sowohl die Ausgabe der Anweisung in das benannte Fenster als auch alle Einfügungen und Löschungen für das benannte Fenster eingefügt. Sie können jeder Anweisung einen Namen zuweisen und die Ausgabe pro Anweisung abrufen.

@name('named window') create window OrdersNamedWindow.win:keepall() as OrderMapEventType; 

Jetzt in der Registerkarte "Ausgabe pro Anweisung" zeigt Sie Unterregisterkarten mit der Ausgabe jeder Anweisung getrennt.

+0

Dank erstellen Fenster-Klausel. Ich weiß, dass Sie einen Namen zuweisen können und die Ausgabe auf den Registerkarten sehen können. Die Sache ist, wenn ich die eigentliche Esper-Software verwende, bekomme ich auch doppelte Ausgabe mit den erwähnten Aussagen. Ist es möglich, die Ausgabe von den Einfügungen aus dem benannten Fenster zu "verstecken"? So dass ich nur die Ausgabe von der Insert-Anweisung sehe? – user5526698

+0

Wenn Sie keinen Listener anhängen, erhalten Sie keine Ausgabe. – goodie

+0

Ah ok danke! Ich hätte das wissen müssen :) – user5526698

0

I gelöst ähnlichen Fall durch Zugabe von std: firstunique (Ausdrücke) in