0
我使用沒有xml配置的spring批處理。我想創建一個由幾個步驟組成的作業,並且我想對同一個作業進行多次迭代。所以基本上我想創建一個由幾個步驟組成的流程,最後一步使用監聽器檢查一個條件,如果條件滿足Job結束時返回一個狀態,如果條件不滿足,則它返回到第一步。Spring批處理作業執行iteraton使用註釋
我試圖用編程方式創建它,沒有運氣,我簡化它到最簡單的解決方案有兩個步驟。
public class MyListener {
int iterations = 0;
@AfterStep
public ExitStatus afterStep(StepExecution stepExecution) {
if(3 > iterations) {
iterations ++;
return new ExitStatus("CONTINUE");
}
else {
iterations=0;
return new ExitStatus("FINISHED");
}
}
}
@Bean
public MyListener listener() {
return new MyListener();
}
@Bean
public Step step() {
return stepBuilderFactory.get("step").<Object, Object> chunk(1).reader(dummyReader())
.processor(logItemProcessor()).writer(logItemWriter()).build();
}
@Bean
public Step step2() {
return stepBuilderFactory.get("step").<Object, Object> chunk(1).reader(secondReader())
.processor(logItemProcessor()).writer(logItemWriter()).listener(listener()).build();
}
@Bean
public Job jobtest2() {
return jobBuilderFactory.get("testJob2")
.start(step())
.next(step2()).on("CONTINUE").to(step()).on("FINISHED").end().build()
.build();
}
這是我最後atemp但ID不會似乎工作
你什麼意思是「沒有運氣」?什麼有效,什麼不起作用?豆子是否被撿起並注入某個地方?哪裏?你如何開始該計劃? jobtest2()甚至被調用? – Heri
不要使用監聽器,而要使用JobExecutionDecider來重定向作業流程 –
道歉這是一個錯字「沒有運氣」。豆沒有被注入任何其他地方。我從休息服務使用joblauncher開始工作 – silvestrelosada