我正在尝试将一个spring-batch作业移植到一个基于java-config的作业,该作业是在xml中定义的。这是我的job-configuration-file的一个片段:
<decision id="decision" decider="someDecider">
<next on="continue" to="stepCont" />
<next on="timeout" to="stepTimeout" />
<end on="COMPLETED" />
</decision>
<step id="stepCont" next="stepReport">
... do something
</step>
<step id="stepReport" next="decision">
... create report
</step>
<step id="stepTimeout">
...
</step>有没有办法用spring-java-config创建这样的循环?
我开始说:
.get("myJob")
.start(someStepBefore())
.next(someDecider).on("timeout").to(stepTimeout())
.from(someDecider).on("continue").to(stepCont())
.from(someDecider).on("COMPLETED").end().build()
.build();它必须是这样的:
.get("myJob")
.start(someStepBefore())
.next(someDecider).on("timeout").to(stepTimeout())
.from(someDecider).on("continue").to(stepCont()).next(someDecider)...
.from(someDecider).on("COMPLETED").end().build()
.build();我的工作就像loopFlowSample一样。如果没有xml,我如何实现它呢?
发布于 2014-11-15 22:51:57
这样如何:
FlowBuilder<Flow> flowBuilder = new FlowBuilder<Flow>("flow1");
Flow flow = flowBuilder
.start(importPersonStep)
.next(loopDecider)
.on("CONTINUE")
.to(importPersonStep)
.from(loopDecider)
.on("COMPLETED")
.end()
.build();
return jobs.get("importUserJob")
.incrementer(new RunIdIncrementer())
.start(flow)
.end()
.build();发布于 2018-06-21 20:06:07
我知道的很晚,但是我没有找到一个正确的例子,这个问题一直出现在我的谷歌搜索中。
这是一个最新的spring batch的工作示例。
return jobs.get("myJob")
.start(someStepBefore)
.next(stepReport)
.next(someDecider).on("timeout").to(stepTimeout)
.from(someDecider).on("continue").to(stepCont)
.from(someDecider).on("COMPLETED").end()
.from(stepCont).next(someDecider).on("timeout").to(stepTimeout)
.from(stepCont).from(someDecider).on("continue").to(stepCont)
.from(stepCont).from(someDecider).on("COMPLETED").end()
.end()
.build();https://stackoverflow.com/questions/24307020
复制相似问题