考虑您正在使用 jdbc-metadata-store 从多个实例(假设有 4 个)轮询一个目录,并将轮询器 maxMessagesPerPoll 设置为 1,间隔为 5 分钟,并且您正在使用处理程序方法使用此消息,并在您删除文件时完成了。
如果您收到 100 个文件,具体取决于每个实例的开始时间,假设 instace-1 收到 100 个文件,这意味着所有文件名和修改的时间戳都保存到数据库中。
当实例被杀死或收到上下文关闭事件或当 istance-1 启动时返回消费甚至其他实例可以消费时,如何保护尚未消费的消息?由于它们保存在元数据存储中,因此不会再次被拾取,并且这些消息将永远丢失。