Пружинный пакет Хук ThreadPoolTaskExecutor и процесс уничтожения JVM не завершаются - PullRequest
0 голосов
/ 05 февраля 2019

Пример 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...