Как использовать поддержку транзакций Spring в Spring Batch - PullRequest
0 голосов
/ 03 июня 2019

Я пытаюсь использовать Spring Batch для чтения файла из файла .dat и сохранения данных в базе данных.Мое требование гласит: либо вставить все данные, либо не вставить ни один из данных в таблицу, т. Е. Атомарность.Тем не менее, используя пружинный пакет, я не могу добиться того же, что он читает данные порциями и вставляет данные, пока записи в порядке.если в какой-то момент запись неуместна и выдается какое-то исключение из базы данных, тогда я хочу выполнить полный откат, который не происходит.Допустим, мы получаем ошибку в 2051-й записи, тогда мой код сохраняет 2050 записей, но я хочу полный откат, и если все данные в порядке, то все N записей должны быть сохранены.Заранее благодарен за любую помощь или соответствующий подход, который может решить мою проблему ...

ПРИМЕЧАНИЕ. Я уже использовал аннотацию Spring Transactional для метода вызывающего абонента, но он не работает, и я читаю данные в виде фрагмента размером10 позиций1015 *

1 Ответ

0 голосов
/ 07 июня 2019

Операция, которую я пробовал, не предоставляется в пакете. Для моего требования я реализовал пользовательское удаление, которое очищает базу данных при сбое на любом этапе.

...