没有名为“资源”的财产。在MultiResourceItemReader中

时间:2016-08-02 12:19:09

标签: spring-batch

在春季批处理文档(http://docs.spring.io/spring-batch/reference/html/scalability.html)中,在7.4.3部分下,我们可以设置“资源”和#39;来自stepExecutionContext的MultiResourceItemReader的属性。但是没有名为“资源”的财产。在MultiResourceItemReader中,它是' resources'。 然后如何从stepExecutionContext将单个资源设置为MultiResourceItemReader,在分区期间设置的每个上下文中将包含单个fileName。

1 个答案:

答案 0 :(得分:0)

相反,它被称为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>