Spring batch Spring批处理作业中有多个分区器

Spring batch Spring批处理作业中有多个分区器,spring-batch,partitioning,Spring Batch,Partitioning,我有两个不同的文件(都是不同的布局),我将其拆分为多个文件,以利用本地步骤分区 到目前为止,我只处理一个文件,并且创建了一个自定义分区器类来使用步骤分区 现在我想包含另一个文件,所以我计划为这个新文件创建另一个partitioner类。(想法是为新文件创建另一个步骤)。或者我们可以对这两个步骤使用相同的分区器吗 这是可行的还是我们需要为每个文件创建单独的作业 这是我当前的配置: <batch:step id="step9"> <batch:partition s

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

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

现在我想包含另一个文件,所以我计划为这个新文件创建另一个partitioner类。(想法是为新文件创建另一个步骤)。或者我们可以对这两个步骤使用相同的分区器吗

这是可行的还是我们需要为每个文件创建单独的作业

这是我当前的配置:

<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>

请务必让我知道这种方法是否正确,并且在这种方法中是否会出现任何问题

问候,,
香卡尔。

你那里的东西应该很好用。由于分区器是步骤作用域,因此每个步骤都应该有自己的实例。

谢谢@Michael..你是说我可以在两个步骤中使用相同的分区器吗?而且这两个文件将位于同一路径中。。在这种情况下,它会起作用吗?如果两个步骤都使用单个分区器,我们如何将不同的文件传递给分区器?如果文件位于不同的位置,我们如何将每个步骤中的不同文件传递给同一个分区器?理论上可以。然而,这取决于您的用例。如果您有不同的文件位置,那么使用额外的
Partitioner
实例可能更容易。