Spring Batch Partitioning - 重用JMS通道?

时间:2014-01-28 20:33:20

标签: spring spring-batch spring-integration

我正在编写一个Spring Batch作业,它由4个独立的步骤组成,并希望通过集群的节点分配工作。我正在考虑使用流程将作业分成4个并行执行的作业。 4个作业中的每一个都将配置为作为单个分区运行。它似乎工作(未在集群中完全测试)但需要定义单独的PartitionHandler,请求和响应通道以及出站网关。

可以跨分区步骤重复使用这些实体吗?

任何其他建议的方法?

1 个答案:

答案 0 :(得分:0)

对于并行处理,我可以建议this doc

例:     

<job id="parallelJobExample">
    <split id="parallelProcessingExample" task-executor="taskExecutor">
        <flow>
            <step id="step1" parent="independetJob1"/>
        </flow>
        <flow>
            <step id="step2" parent="independetJob2"/>
        </flow>
    </split>
</job>

<step id="independetJob1">
    <tasklet>
        <chunk reader="parallelReader1" processor="parallelProcessor1" writer="parallelWriter1" commit-interval="1000"/>
    </tasklet>
</step>

<step id="independetJob2">
    <tasklet>
        <chunk reader="parallelReader2" processor="parallelProcessor2" writer="parallelWriter2" commit-interval="1000"/>
    </tasklet>
</step>

如果您需要jms示例,我也可以提供。