Функция транзакции по умолчанию в Spring Batch не работает для хранимой процедуры - PullRequest
0 голосов
/ 04 июля 2019

У меня есть простое пакетное задание писателя с конфигурацией ридер-процессор в весеннем пакетном режиме. В процессоре я вызвал хранимую процедуру для некоторых обновлений БД, нормальный поток работает нормально, но всякий раз, когда возникает какое-либо исключение после выполнения хранимой процедуры, записи обновления не откатываются.

@ Configuration открытый класс StudentJobConfig {

@Bean
ItemReader<Student> studentReader() {
    // reads data from database
}

@Bean
ItemProcessor<Student, Student> studentProcessor() {
    // execute the stored procedure 
}


@Bean
Step studentStep(ItemReader<Student> studentReader,
                         ItemProcessor<Student, Student> studentProcessor,
                         StepBuilderFactory stepBuilderFactory) {
    return stepBuilderFactory.get("StudentStep")
            .<Student, Student>chunk(1)
            .reader(studentReader)
            .processor(studentProcessor)
            .build();
}

@Bean
Job inMemoryStudentJob(JobBuilderFactory jobBuilderFactory,
                       @Qualifier("studentStep") Step studentStep) {
    return jobBuilderFactory.get("StudentJob")
            .incrementer(new RunIdIncrementer())
            .flow(studentStep)
            .end()
            .build();
}

}

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