- 在spring配置文件中,配置事务模版类对应的bean
<!-- 手动事务模板 --> <bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"> <property name="transactionManager" ref="txMgr"/> </bean> - 在service中使用事务模版,在需要进行事务回滚的地方,手动回滚当前事务,见如下代码 :
Message msg = transactionTemplate.execute(new TransactionCallback<Message>() { @Override public Message doInTransaction(TransactionStatus status) { Message returnMsg = new Message(); try { returnMsg = debitInfoService.doModDebitInfoWhenProcessFinish(requestMap); if(!returnMsg.isSuccess()){ status.setRollbackOnly(); } } catch (Exception e) { returnMsg.setSuccess(false); returnMsg.setMsg(ExceptionUtils.getMessage(e)); returnMsg.setValue(ExceptionUtils.getStackTrace(e)); status.setRollbackOnly(); } return returnMsg; } }); //如果处理错误,记录日志 if(!msg.isS

本文介绍了如何在Spring中配置和使用事务模板类TransactionTemplate,以实现手动回滚事务。在Service层,通过设置TransactionStatus的rollbackOnly属性,当业务处理出现错误时,事务会被回滚,并记录相应的错误日志。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



