Я использую apache-camel и хотел бы продолжить обработку после отката транзакции. В частности, мне нужно вставить данные аудита и информацию об ошибках в базу данных после отката транзакции, в которой произошла ошибка.
Я попытался сделать это в объявлении onException, используя другое решение dsl: rollback, markrollbackonly и markrollbackonlylast
onException().handled(true)
.log(LoggingLevel.ERROR, "An exception occured: ${exception.message}")
// I want to rollback what was done in DB here here
.process(insertErrorDataInDBProcessor);
Использование rollBack создает новое исключение. Использование markrollback только останавливает поток. Использование markrollbackonlylast останавливает поток.
Я ищу решение для отката всех действий с БД, кроме тех, что в insertErrorDataInDBProcessor