Spring 批处理作业中有多个分区程序
More than one Partitioner in a Spring batch job
我有两个不同的文件(都是不同的布局),我将其拆分为多个文件以利用本地步骤分区。
到目前为止,我正在处理一个文件,并且我已经创建了一个自定义分区程序 class 以利用步进分区。
现在我想包含另一个文件,所以我计划为这个新文件创建另一个分区程序 class。 (想法是为新文件创建另一个步骤)。或者我们可以对两个步骤使用相同的分区程序吗?
这行得通吗?还是我们需要为每个文件创建单独的作业?
这是我当前的配置:
<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>
请告诉我这种方法是否正确,这种方法是否会出现任何问题?
此致,
香卡.
你那里的东西应该可以正常工作。由于分区程序是步骤范围的,每个步骤都应该有它自己的实例。
我有两个不同的文件(都是不同的布局),我将其拆分为多个文件以利用本地步骤分区。
到目前为止,我正在处理一个文件,并且我已经创建了一个自定义分区程序 class 以利用步进分区。
现在我想包含另一个文件,所以我计划为这个新文件创建另一个分区程序 class。 (想法是为新文件创建另一个步骤)。或者我们可以对两个步骤使用相同的分区程序吗?
这行得通吗?还是我们需要为每个文件创建单独的作业?
这是我当前的配置:
<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>
请告诉我这种方法是否正确,这种方法是否会出现任何问题?
此致, 香卡.
你那里的东西应该可以正常工作。由于分区程序是步骤范围的,每个步骤都应该有它自己的实例。