Почему не завершена транзакция при загрузке Spring на TransactionStatus? - PullRequest
0 голосов
/ 08 ноября 2019

Я не знаю, почему транзакция не завершена.

Пример)


    public void transactionMethod() {
        DefaultTransactionDefinition txDefinition = new DefaultTransactionDefinition();
        txDefinition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
        TransactionStatus testTx = txManager.getTransaction(txDefinition);

        try {
            txManager.commit(testTx);
        } catch (Exception ex) {

            log.error("Catch!!!!!!!!!!!");
        }
        if (Objects.nonNull(testTx) && !testTx.isCompleted()) {

            txManager.rollback(testTx);
        }

    }

    @Test
    public void test() {
        SimpleTransactionStatus testTx = new SimpleTransactionStatus();
        when(txManager.getTransaction(any())).thenReturn(testTx);

        target.transactionMethod();
    }

Я думаю, что откат не реализован, потому что фиксация завершилась попыткой {}. Тем не менее, testTx.isCompleted() ложно ..... Не могли бы вы сказать мне, почему testTx.isCompleted() ложно?

...