Я использую @Service и @Transactional(rollbackFor = Exception.class) для аннотации класса реализации сервиса
Метод депозита:
Код: Выделить всё
protected Account depositTxn(long accId, BigDecimal amount, boolean isTransfer) throws InterruptedException {
Account savedAcc = null;
try {
Account acc= addBalance(accId, amount);
savedAcc = this.update(acc);
} catch (ObjectOptimisticLockingFailureException e){
for(int i = 1; i
Подробнее здесь: [url]https://stackoverflow.com/questions/78544632/transaction-isnt-rollback-when-error-throwmultithreading[/url]