Как JTA-Transactionmanager должен реагировать на ошибки при откате - PullRequest
0 голосов
/ 23 октября 2019

Учитывая

@Transactional(
    value = Transactional.TxType.REQUIRES_NEW,
    dontRollbackOn = {RuntimeException.class},
    // IllegalStateException derived from RuntimeException therefore not rolling back.
    rollbackOn = {IllegalStateException.class,IllegalAccessError.class})

в качестве Транзакционной аннотации, я ожидаю, что транзакция будет откатываться, если код внутри транзакции выдает ошибку IllegalAccessError. По крайней мере, в случае с Арджуной это не так. В Javadoc Transactional упоминаются только исключения, но не ошибки. На мой взгляд, обработкой по умолчанию в случае ошибок всегда должен быть откат, по крайней мере, если ошибка явно добавлена ​​в rollbackOn. У кого-нибудь есть более конкретная информация, по этому поводу я не нашел ничего конкретного в официальной спецификации. JTA 1,3

...