PROPAGATION_REQUIRES_NEW in junit5 doesn't work

Viewed 23

This code runs normally in the program, but cannot be run in junit5 with springboot 2.3.11

TransactionUtil transactionUtil = null;
    try {
        transactionUtil = new TransactionUtil();
        transactionUtil.begin(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
        ...
        transactionUtil.commit();
    }
    cache(Exception e) {
        transactinUtil.rollback();
    }

    //method begin() in TransactionUtil
    public void begin(int propagation) {
        DataSource dataSource = (DataSource) SpringUtil.getBean("dataSource");
        transactionManager = new DataSourceTransactionManager(dataSource);
        transactionDefinition = new DefaultTransactionDefinition();
        transactionDefinition.setPropagationBehavior(propagation);
        transactionDefinition.setIsolationLevel(TransactionDefinition.ISOLATION_DEFAULT);
        status = transactionManager.getTransaction(transactionDefinition);
    }
0 Answers
Related