0
は、実際に私はいくつかのステップと次のように2つのタスクレットで仕事をjave。ロールバック春のバッチジョブ
@Configuration
@Import({BatchItemConfiguration.class, BatchCriticalComponentConfiguration.class})
public class BatchConfiguration {
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private Step stepCriticalComponent;
@Autowired
private Step stepItem;
@Autowired
private Step deleteAllItemStep;
@Autowired
private Step deleteAllCriticalComponentStep;
@Bean
public Job importJob(JobCompletionNotificationListener listener) {
return jobBuilderFactory.get("importJob")
.incrementer(new RunIdIncrementer())
.listener(listener)
.start(deleteAllCriticalComponentStep)
.next(deleteAllItemStep)
.next(stepItem).next(stepCriticalComponent)
.build();
}
}
ステップ(stepItem又はstepCriticalComponent)が失敗した場合、実際には、タスクレットによって削除されたデータがなくなっていると私はそれを回復することができません。 特定のステップ/タスクレットの前に、ジョブ全体またはロールバックをロールバックする方法はありますか?