@Bean public Job testJob() throws Exception { SimpleJobBuilder builder = jobs.get("test").start(step1()).next(step2()); return builder.build(); }
@Bean public Job testJob() throws Exception { SimpleJobBuilder builder = jobs.get("test").start(step1()).next(step2()); return builder.build(); }
@Bean public Job concurrentJob() { Flow splitFlow = new FlowBuilder<Flow>("splitflow").split(new SimpleAsyncTaskExecutor()).add(flow(), flow(), flow(), flow(), flow(), flow(), flow()).build(); return jobBuilderFactory.get("concurrentJob") .start(firstStep()) .next(stepBuilderFactory.get("splitFlowStep") .flow(splitFlow) .build()) .next(lastStep()) .build(); }
@Test public void testBuildWithIntermediateSimpleJobTwoSteps() throws Exception { SimpleJobBuilder builder = new JobBuilder("flow").repository(jobRepository).start(step1).next(step2); builder.on("FAILED").to(step3).end(); builder.build().execute(execution); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); assertEquals(2, execution.getStepExecutions().size()); }
@Test public void testBuildDecision() throws Exception { JobExecutionDecider decider = new JobExecutionDecider() { private int count = 0; @Override public FlowExecutionStatus decide(JobExecution jobExecution, StepExecution stepExecution) { count++; return count<2 ? new FlowExecutionStatus("ONGOING") : FlowExecutionStatus.COMPLETED; } }; step1.setAllowStartIfComplete(true); SimpleJobBuilder builder = new JobBuilder("flow").repository(jobRepository).start(step1); builder.next(decider).on("COMPLETED").end().from(decider).on("*").to(step1).end(); builder.preventRestart().build().execute(execution); assertEquals(BatchStatus.COMPLETED, execution.getStatus()); assertEquals(2, execution.getStepExecutions().size()); }
@Bean public Job sendMailJob(JobBuilderFactory jobs, Step sendMailStep, Step insertDataStep, Step taskletlStep, JobParametersValidator sendMailJobParametersValidator) throws Exception { return jobs.get("sendMailJob") .validator(sendMailJobParametersValidator) .incrementer(new RunIdIncrementer()) .start(taskletlStep) .next(insertDataStep) .next(sendMailStep) .build(); }
flow.next(step);
public void processSteps(JobBuilder jobBuilder, List<Object> stepSpecs) { boolean isFirstStep = true; SimpleJobBuilder jb = null; StepBuilder stepBuilder = null; for(Object stepSpec : stepSpecs) { Step step = processStep(stepBuilder, stepSpec); if(isFirstStep) { jb = jobBuilder.start(step); isFirstStep = false; } else { jb = jb.next(step); } } Job job = jb.build(); }
@Bean public Job job() { return this.jobBuilderFactory.get("job") .start(step1()) .next(step2()) .build(); } }
@Bean public Job sparqlExportJob() { JobBuilder jobBuilder = jobBuilders.get("sparqlExportJob"); SimpleJobBuilder jb = jobBuilder.start(dataCountStep(null, null)); jb = jb.next(dataFetchStep()); Job job = jb.build(); return job; }
@Bean public Job job() { return jobBuilderFactory.get("job") .start(step1()) .next(step2()) .build(); } }
@Bean public Job splitJob(@Qualifier("foo") Flow foo, @Qualifier("foo") Flow bar) { FlowBuilder<Flow> flowBuilder = new FlowBuilder<>("split"); Flow flow = flowBuilder.split(new SimpleAsyncTaskExecutor()) .add(foo, bar) .end(); return jobBuilderFactory.get("splitJob") .start(myStep1()) .next(myStep2()) .on("COMPLETED").to(flow) .end() .build(); } }
@Bean public Job parentJob(JobRepository jobRepository, PlatformTransactionManager transactionManager) { Step childJobStep = new JobStepBuilder(new StepBuilder("childJobStep")) .job(childJob) .launcher(jobLauncher) .repository(jobRepository) .transactionManager(transactionManager) .build(); return jobBuilderFactory.get("parentJob") .start(step1()) .next(childJobStep) .build(); } }
@Bean public Job job() { return jobBuilderFactory.get("job") .start(startStep()) .next(decider()) .from(decider()).on("ODD").to(oddStep()) .from(decider()).on("EVEN").to(evenStep()) .from(oddStep()).on("*").to(decider()) // .from(decider()).on("ODD").to(oddStep()) // .from(decider()).on("EVEN").to(evenStep()) .end() .build(); }