Spring 集成 - 关闭应用程序时消息队列不为空

问题描述 投票:0回答:1

考虑您正在使用 jdbc-metadata-store 从多个实例(假设有 4 个)轮询一个目录,并将轮询器 maxMessagesPerPoll 设置为 1,间隔为 5 分钟,并且您正在使用处理程序方法使用此消息,并在您删除文件时完成了。

如果您收到 100 个文件,具体取决于每个实例的开始时间,假设 instace-1 收到 100 个文件,这意味着所有文件名和修改的时间戳都保存到数据库中。

当实例被杀死或收到上下文关闭事件或当 istance-1 启动时返回消费甚至其他实例可以消费时,如何保护尚未消费的消息?由于它们保存在元数据存储中,因此不会再次被拾取,并且这些消息将永远丢失。

spring spring-integration graceful-shutdown spring-integration-file
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.