【问题标题】:Spring Batch Partitioning - reuse of JMS Channels?Spring Batch Partitioning - JMS Channels的重用?
【发布时间】:2014-01-28 20:33:19
【问题描述】:
我正在编写一个由 4 个独立步骤组成的 Spring Batch 作业,并希望将工作分配到集群的节点上。我正在考虑使用流将作业分解为 4 个并行执行的作业。 4 个作业中的每一个都将配置为作为单个分区运行。它似乎可以工作(未在集群中完全测试),但需要定义单独的 PartitionHandler、请求和响应通道以及出站网关。
这些实体中的任何一个都可以跨分区步骤重用吗?
还有其他建议的方法吗?
【问题讨论】:
标签:
spring
spring-batch
spring-integration
【解决方案1】:
对于并行处理,我可以建议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 示例,我也可以提供。