- 在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