TaskExecutorPartitionHandler 是否使用数据网格?

Does TaskExecutorPartitionHandler uses data grid?

我在部署在分布式 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>

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