@Transactional откат всего, кроме одного сохранения в базе данных - PullRequest
0 голосов
/ 06 апреля 2020

После моего предыдущего вопроса, на который был получен хороший ответ => @ Транзакционный не работает, когда я выбрасываю исключение на следующей строке

У меня есть этот вопрос сейчас:

У меня есть метод:

@Transactional
public void processFile(final Path path) {

    try {

        //code that manipulates database adding entries

    } catch (final Exception e) {
         this.handleException(e));
    }
 }

, который вызывает приведенное ниже добавление fileName that failed в качестве записи в таблице базы данных ( мониторинг ):

void handleException(final Throwable e) {

    //Save the name of the file that failed to be processed
    this.filesMonitoringJpaManager.save(newEntryFileName);

    throw new Exception(...)
}

Таким образом, метод processFile выполняет различные изменения базы данных, которые я хочу откатить при возникновении любой ошибки. Хотя метод handleException сохраняет в таблицу мониторинг имя файла не может быть обработано.


Итак:

Как выполнить откат Вся транзакция в случае Исключение , но все равно сделать это сохранить / обновить this.filesMonitoringJpaManager.save(newEntryFileName); в базе данных, потому что мне это нужно?

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