@Bean public Flow flow() { return new FlowBuilder<Flow>("flow") .start(stepBuilderFactory.get("flow.step1") .tasklet(new Tasklet() { @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { return RepeatStatus.FINISHED; } }).build() ).next(stepBuilderFactory.get("flow.step2") .tasklet(new Tasklet() { @Override public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception { return RepeatStatus.FINISHED; } }).build() ).build(); }
@Test public void testBuildSingleFlow() throws Exception { Flow flow = new FlowBuilder<Flow>("subflow").from(step1).next(step2).build(); FlowJobBuilder builder = new JobBuilder("flow").repository(jobRepository).start(flow).end().preventRestart(); builder.build().execute(execution); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); assertEquals(2, execution.getStepExecutions().size()); }
private void handleFlow(Deque<Flow> executionDeque) { if(!executionDeque.isEmpty()) { this.flowBuilder.start(executionDeque.pop()); } while (!executionDeque.isEmpty()) { this.flowBuilder.next(executionDeque.pop()); } this.visitorDeque.pop(); this.jobDeque.push(this.flowBuilder.end()); }
private Flow handleFlowForSegment(Deque<Flow> resultFlowDeque) { FlowBuilder<Flow> localTaskAppFlowBuilder = new FlowBuilder<>("Flow" + UUID.randomUUID().toString()); if(!resultFlowDeque.isEmpty()) { localTaskAppFlowBuilder.start(resultFlowDeque.pop()); } while (!resultFlowDeque.isEmpty()) { localTaskAppFlowBuilder.next(resultFlowDeque.pop()); } return localTaskAppFlowBuilder.end(); }
@Bean public Flow foo() { FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("foo"); flowBuilder.start(step1()) .next(step2()) .end(); return flowBuilder.build(); }
@Bean public Flow bar() { FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("bar"); flowBuilder.start(step1()) .next(step2()) .end(); return flowBuilder.build(); } }
@Bean public Flow flow2() { return new FlowBuilder<Flow>("flow2") .start(stepBuilderFactory.get("step2") .tasklet(tasklet()).build()) .next(stepBuilderFactory.get("step3") .tasklet(tasklet()).build()) .build(); }
@Bean public Job conditionalJob(JobBuilderFactory jobs, Step conditionalStep1, Step conditionalStep2, Step conditionalStep3, Step conditionalStep4, Step conditionalStep5) throws Exception { return jobs.get("conditionalJob") .incrementer(new RunIdIncrementer()) .flow(conditionalStep1).on(ExitStatus.FAILED.getExitCode()).to(conditionalStep3) .from(conditionalStep1).on("HOGE").to(conditionalStep4) .from(conditionalStep1).on("*").to(conditionalStep2) .from(conditionalStep4).next(conditionalStep5).on("*").stop() .end() .build(); }