Spring boot, транзакционная работа с расписанием - PullRequest
2 голосов
/ 17 апреля 2019

Как я знаю Spring Boot генерирует прокси cglib по умолчанию. Более того, если в моем методе есть две аннотации, создающие прокси, будет работать только одна из них. Это мой тестовый класс

@Service
public class Test{

    private final TxnAddressRepository repository;

    private final CoinRepository coinRepository;


   @Transactional
    @Scheduled(fixedDelay = 1000)
    public void test() {
        final TransactionStatus transactionStatus = TransactionAspectSupport.currentTransactionStatus();
        System.out.println("HERE");
        this.repository.save(new TxnAddress(coinRepository.getOne(4L), hey.append("hey").toString()));
    }

}

Но обе аннотации работают для этого метода, он запланирован каждую секунду, и ((DefaultTransactionStatus) transactionStatus) .newTransaction показывает мне значение true. (открытый сеанс в представлении отключен)

Почему это работает? (Spring boot version 2.1.2.RELEASE)

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