spring 手动提交事务

在日常工作中,需要将接口通过try-catch将错误记录下来,保存到数据库,但是因为事务需要回滚,只能手动回滚,但是插入数据库操作也会回滚了。而新启事务(REQUIRD-NEW)。TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();导致事务无法正常PROPAGATION_REQUIRES_NEW,所以需要手动提交。

@Resource(name="transactionManager") //项目内配置的事务manager
private DataSourceTransactionManager transactionManager;

DefaultTransactionDefinition transDefinition = new DefaultTransactionDefinition();
                    //开启新事物                transDefinition.setPropagationBehavior(DefaultTransactionDefinition.PROPAGATION_REQUIRES_NEW);
                    
TransactionStatus transStatus = transactionManager.getTransaction(transDefinition);



transactionManager.commit(transStatus);
  
    

你可能感兴趣的:(工作日常遇到的问题,java)