【发布时间】:2021-08-22 20:40:45
【问题描述】:
我刚开始使用 Spring Batch,不知道如何实现我的业务需求。
行为很简单:我有一个保存文件的目录。我的批次应该检测到这些文件,将它们导入我的数据库并将文件移动到备份目录(如果无法保存数据,则移动到错误目录)。
所以我创建了 1 个文件的块。阅读器检索它们,处理器导入数据。
我读过 Spring Batch 为整个块创建一个全局事务,并且只有 ChunkListener 被从事务中调用。好像还可以,但是输入的参数是一个ChunkContext。如何检索块中管理的文件?我看不到它在 ChunkContext 中的存储位置。
在选择文件必须移动的位置之前,我需要确保数据库接受插入。这就是为什么我需要在提交之后这样做。
【问题讨论】:
标签: spring-batch listener spring-transactions