2016-07-05 84 views
0

我正在使用spring-batch将大型数据集导入数据库。在准备ItemProcessor中的db对象的过程中,我想设置一个字段filesHash,以便后来知道从哪个文件导入的行来自哪个文件。如何获取ItemProcessor中的当前资源名称?

问题:如何在ItemProcessor中调用当前资源文件名?我使用FlatFileItemReader逐行读取文件内容。不幸的是,它有一个setResource(resource)方法,但不提供getter?

链接的问题不回答!

+0

的[使用MultiResourceItemReader Spting批量获取当前资源名称]可能的复制(http://stackoverflow.com/questions/22993633/get-current-resource-name-using-multiresourceitemreader-spting-batch) –

+0

的链接问题没有被接受的答案。那么在你的选择中,我的问题的答案是什么? – membersound

+2

你使用'MultiResourceItemReader'吗?如果是这样,你可以通过你的一个域对象实现接口'ResourceAware',它将提供getter来检索当前资源。 – Tunaki

回答

0

更新:肯定只是在您的处理器上实现ResourceAware,并让Spring Batch为您完成工作。

JavaDoc

表明一个项目应该有春天资源在其被读取,在其上设置

标记接口。规范示例位于MultiResourceItemReader中,该实例将在实现此接口的任何项目上设置当前资源。