我正在使用集合和存储来体验奇怪的行为。运行集成测试时,我会在1月20日,21日和22日发送一条消息。由于我的窗口存储聚合为1天,因此我希望有3个窗口,每个窗口包含一条消息。但是结果是不同的。我只得到2个窗口,第一个窗口包含向21号发送的消息,第二个窗口包含向22号发送的消息。因此,第20条消息丢失了。如果重试测试并仅发送20日和21日,则确实会在单独的窗口中收到每封邮件。
然后,我尝试了另一个测试,该测试在20、21、22和23日发送消息。我希望有4个窗口。但是我仍然有两个窗口,但是这次第一个窗口包含22号消息,第二个窗口包含23号消息。
我启用了跟踪日志记录,但是找不到任何问题。您知道这里出了什么问题吗?我在打虫吗?我的代码在https://github.com/mmelsen/spring-cloud-stream-binder-kafka上。运行单元测试显示了这种行为