Пример My Spring Batch, чтение из файла и запись в h2 в дБ памяти.
Когда поток не выдает исключение, все идет хорошо.
Если выдается исключение SQL,2 потока исполнителя задач остаются в рабочем режиме, а DestroJavaVM не завершен, оставаясь в рабочем режиме.
Моя работа:
@Bean
public Job importUserJob(JobCompletionNotificationListener listener, Step step1) {
return jobBuilderFactory.get("importUserJob").incrementer(new RunIdIncrementer())
.listener(listener)
.flow(masterStep()).end().build();
}
@Bean
@Qualifier("masterStep")
public Step masterStep() {
return stepBuilderFactory
.get("masterStep")
.partitioner("step1", partitioner)
.step(step1())
.taskExecutor(taskExecutor)
.build();
}
@Bean
public Step step1() {
return stepBuilderFactory.get("step1").<Person, Person>chunk(10)
.reader(personItemReader)
.processor(new PersonItemProcessor())
.writer(writer)
.listener(writerListener)
.faultTolerant()
.skip(DuplicateKeyException.class)
.skipLimit(10)
.build();
}
В чем может быть проблема?
![enter image description here](https://i.stack.imgur.com/escEH.png)