【问题标题】:No property called 'resource' in MultiResourceItemReaderMultiResourceItemReader 中没有名为“资源”的属性
【发布时间】:2016-08-02 12:19:08
【问题描述】:

在 spring Batch 文档 (http://docs.spring.io/spring-batch/reference/html/scalability.html) 中,在 7.4.3 部分下,我们可以从 stepExecutionContext 设置 MultiResourceItemReader 的“资源”属性。但是 MultiResourceItemReader 中没有称为“资源”的属性,而是“资源”。 然后如何将单个资源从 stepExecutionContext 设置为 MultiResourceItemReader,这将在分区期间设置的每个上下文中具有单个文件名。

【问题讨论】:

    标签: spring-batch


    【解决方案1】:

    取而代之的是resources(它是一个数组),可以这样设置:

    <bean id="multiResourceReader" 
                class=" org.springframework.batch.item.file.MultiResourceItemReader">
        <property name="resources" value="file:some/folder/prefix*.csv" />
        <property name="delegate" ref="flatFileItemReader" />
    </bean>
    

    分区时,您不会使用MultiResourceItemReader。相反,只需在步骤范围内使用 FlatFileItemReader

    <bean id="flatFileItemReader" scope="step"
                class="org.springframework.batch.item.file.FlatFileItemReader">
        <property name="resource" value="file:#{stepExecutionContext['FILE.NAME']}">
    </bean>
    

    【讨论】:

    • 也就是说,Spring 文档需要更正/更新。感谢您回答@DeanClark。
    • 好像是这样。请指出这个答案是正确的,所以其他人不会认为它没有答案。
    猜你喜欢
    • 2014-12-13
    • 2019-02-01
    • 2022-01-17
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2014-09-09
    相关资源
    最近更新 更多