@Bean
public Step conditionalJobStep1(){
return stepBuilderFactory.get("step1")
.tasklet((stepContribution, chunkContext) -> {
log.info(">>> this is step1");
// ExitStatus.FAILED๋ก ์ง์
// ํด๋น Status ๋ก flow๊ฐ ์งํ๋๋ค.
stepContribution.setExitStatus(ExitStatus.FAILED);
return RepeatStatus.FINISHED;
}).build();
}
Job: [FlowJob: [name=stepNextConditionalJob]] launched with the following parameters: [{version=3}]
o.s.batch.core.job.SimpleStepHandler : Executing step: [step1]
.p.j.StepNextConditionalJobConfiguration : >>> this is step1
o.s.batch.core.step.AbstractStep : Step: [step1] executed in 75ms
o.s.batch.core.job.SimpleStepHandler : Executing step: [step3]
.p.j.StepNextConditionalJobConfiguration : >>> this is step3
o.s.batch.core.step.AbstractStep : Step: [step3] executed in 19ms
o.s.b.c.l.support.SimpleJobLauncher : Job: [FlowJob: [name=stepNextConditionalJob]] completed with the following parameters: [{version=3}] and the following status: [COMPLETED] in 252ms
@Bean
public Step conditionalJobStep1(){
return stepBuilderFactory.get("step1")
.tasklet((stepContribution, chunkContext) -> {
log.info(">>> this is step1");
// stepContribution.setExitStatus(ExitStatus.FAILED);
return RepeatStatus.FINISHED;
}).build();
}
o.s.b.c.l.support.SimpleJobLauncher : Job: [FlowJob: [name=stepNextConditionalJob]] launched with the following parameters: [{version=4}]
o.s.batch.core.job.SimpleStepHandler : Executing step: [step1]
.p.j.StepNextConditionalJobConfiguration : >>> this is step1
o.s.batch.core.step.AbstractStep : Step: [step1] executed in 33ms
o.s.batch.core.job.SimpleStepHandler : Executing step: [step2]
.p.j.StepNextConditionalJobConfiguration : >>> this is step2
o.s.batch.core.step.AbstractStep : Step: [step2] executed in 28ms
o.s.batch.core.job.SimpleStepHandler : Executing step: [step3]
.p.j.StepNextConditionalJobConfiguration : >>> this is step3
o.s.batch.core.step.AbstractStep : Step: [step3] executed in 23ms
o.s.b.c.l.support.SimpleJobLauncher : Job: [FlowJob: [name=stepNextConditionalJob]] completed with the following parameters: [{version=4}] and the following status: [COMPLETED] in 309ms
public class ExitStatus implements Serializable, Comparable<ExitStatus> {
public static final ExitStatus UNKNOWN = new ExitStatus("UNKNOWN");
public static final ExitStatus EXECUTING = new ExitStatus("EXECUTING");
public static final ExitStatus COMPLETED = new ExitStatus("COMPLETED");
public static final ExitStatus NOOP = new ExitStatus("NOOP");
public static final ExitStatus FAILED = new ExitStatus("FAILED");
public static final ExitStatus STOPPED = new ExitStatus("STOPPED");
...
}