...
Code Block |
---|
public interface TimeWindowedKStream<K, V> { TimeWindowedKStream<K, V> emitStrategy(EmitStrategy strategy); } public interface SessionWindowedKStream<K, V> { SessionWindowedKStream<K, V> emitStrategy(EmitStrategy strategy); } public interface EmitStrategy { enum StrategyType { ON_WINDOW_CLOSE, // output final result ON_WINDOW_UPDATE; // output for every record } StrategyType type(); static EmitStrategy onWindowClose() { return new WindowCloseTriggerWindowCloseStrategy(); } static EmitStrategy onWindowUpdate() { return new WindowUpdateTriggerWindowUpdateStrategy(); } } public class WindowCloseStrategy implements EmitStrategy { WindowCloseStrategy() {} StrategyType type() { return ON_WINDOW_CLOSE; } } |
...