https://juejin.cn/post/6850418110010179597
BoundedOutOfOrdernessTimestampExtractor 的实现中必须要根据新消息中的时间戳来产生水印然后触发窗口计算,我代码中数据源发出10条消息后不够窗口时间的3秒,并且再不产生消息,所以窗口不触发。
还有就是末尾窗口剩只够2s的数据 ,不触发最后一个窗口的计算
解决方案
覆写BoundedOutOfOrdernessTimestampExtractor的getCurrentWatermark方法,让其在调用时即时没有新数据进来水印也能随着时间推进。