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);
}