TaskExecutorPartitionHandler是否使用数据网格?

时间:2015-12-31 21:30:36

标签: spring-batch spring-xd

我在我的批处理作业中使用步骤分区,该作业部署在分布式Spring XD环境中。我想知道TaskExecutorPartitionHandler在我们的案例中是否使用数据传输是Rabbit MQ吗?

<bean id="itemReader"
    class="sample.ItemReader"
    scope="step"  >
    <property name=requestList"
        value="#{stepExecutionContext[test]}" />
</bean>

<bean id="taskExecutor"
    class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
    <property name="corePoolSize" value="10" />
    <property name="maxPoolSize" value="15" />
    <property name="allowCoreThreadTimeOut" value="true" />
</bean>
<batch:job id='partitionJob' restartable="false"
    incrementer="jobParametersIncrementerImpl" >
    <batch:step id="startLoopStep">
        <batch:tasklet ref="initTasklet" />
    </batch:step>
    <batch:step id='partitionerStep'>
        <batch:partition step="slave" partitioner="rangePartitioner">
            <batch:handler grid-size="${gridSize}" task-executor="taskExecutor" />
        </batch:partition>
    </batch:step>
</batch:job>
<batch:step id="slave">
    <batch:tasklet>
        <batch:chunk reader="itemReader" writer="itemWriter"
            commit-interval="1" retry-limit="3" >
        </batch:chunk>
    </batch:tasklet>
</batch:step>

1 个答案:

答案 0 :(得分:1)

没有。 TaskExecutorPartitionHandler使用本地线程进行分区。 MessageChannelPartitionHandler是您想要的分布式分区。 Spring XD附带了一个上下文文件,您可以导入该文件以便轻松地将分区添加到单步作业。 Spring XD中的大多数现成工作都使用此功能,可以作为参考。