gpt4 book ai didi

java - 并行多个步骤的Spring批处理分区?

转载 作者:搜寻专家 更新时间:2023-10-31 20:20:17 26 4
gpt4 key购买 nike

我已经为单个步骤实现了 spring 批处理分区,其中主步骤将其工作委托(delegate)给多个从线程,然后并行执行。如下图所示。(引用Spring docs) enter image description here现在,如果我有多个要并行执行的步骤怎么办?如何在批量配置中配置它们?我目前的配置是

 <batch:job id="myJob" restartable="true" job-repository="jobRepository" >
<batch:listeners>
<batch:listener ref="myJoblistener"></batch:listener>
</batch:listeners>

<batch:step id="my-master-step">
<batch:partition step="my-step" partitioner="my-step-partitioner" handler="my-partitioner-handler">
</batch:partition>
</batch:step>
</batch:job>

<batch:step id="my-step" >
<batch:tasklet ref="myTasklet" transaction-manager="transactionManager" >
</batch:tasklet>
<batch:listeners>
<batch:listener ref="myStepListener"></batch:listener>
</batch:listeners>
</batch:step>

我的架构图应该如下图所示: enter image description here

我不确定是否可以使用 spring batch。任何想法或者我无法实现它。谢谢。

最佳答案

您可以尝试以下操作。

 <batch:job id="myJob" restartable="true" job-repository="jobRepository" >
<batch:listeners>
<batch:listener ref="myJoblistener"></batch:listener>
</batch:listeners>

<batch:step id="my-master-step">
<batch:partition step="my-step" partitioner="my-step-partitioner" handler="my-partitioner-handler">
</batch:partition>
</batch:step>
</batch:job>

<batch:step id="my-step" >
<batch:job ref="MyChildJob" job-launcher="jobLauncher"
job-parameters-extractor="jobParametersExtractor" />
<batch:listeners>
<batch:listener ref="myStepListener"></batch:listener>
</batch:listeners>
</batch:step>

<batch:job id="MyChildJob" restartable="false"
xmlns="http://www.springframework.org/schema/batch">
<batch:step id="MyChildStep1" next="MyChildStep2">
<batch:tasklet ref="MyChildStep1Tasklet" transaction-manager="transactionManager" >
</batch:tasklet>
</batch:step>

<batch:step id="MyChildStep2" next="MyChildStep3">
<batch:tasklet ref="MyChildStep2Tasklet" transaction-manager="transactionManager" >
</batch:tasklet>
</batch:step>

<batch:step id="MyChildStep3">
<batch:tasklet ref="MyChildStep3Tasklet" transaction-manager="transactionManager" >
</batch:tasklet>
</batch:step>

</batch:job>

关于java - 并行多个步骤的Spring批处理分区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23357024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com