Spring批处理作业中的多个分区程序

时间:2015-03-06 09:05:04

标签: spring-batch partitioning

我有两个不同的文件(两个都是不同的布局),我将它拆分为多个文件以使用本地步骤分区。

到目前为止,我正在处理一个文件,并且我创建了一个自定义分区程序类来使用步骤分区。

现在我想要包含另一个文件,所以我打算为这个新文件创建另一个分区器类。 (想法是为新文件创建另一个步骤)。或者我们可以在两个步骤中使用相同的分区程序吗?

这是否有用,或者我们需要为每个文件创建单独的作业?

这是我当前的配置:

<batch:step id="step9">
        <batch:partition step="loadFlatFiles" partitioner="multiFileResourcePartitioner">
                    <batch:handler grid-size="15" task-executor="loadCustomerTaskExecutor" />
        </batch:partition>
    </batch:step>

<bean id="multiFileResourcePartitioner" class="com.cdi.batch.partitioner.MultiFileResourcePartitioner"
        scope="step">
        <property name="keyName" value="fileResource" />
        <property name="fileName" value="fileName" />
        <property name="directory" value="file:${input.files.location}" />
</bean>

如果这种方法是正确的,请告诉我这个方法会出现什么问题吗?

此致 香卡。

1 个答案:

答案 0 :(得分:0)

你在那里应该工作得很好。由于分区程序是步骤范围的,因此每个步骤都应该获得它自己的实例。