手工调用Transaction

除了用 @Transactional 外还可以手工调用

复制代码
PlatformTransactionManager transactionManager = (PlatformTransactionManager)SpringBeanUtil.getBean(PlatformTransactionManager.class);
        DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
        transactionDefinition.setPropagationBehavior(Propagation.REQUIRED.value());
        TransactionStatus transaction = null;

        Object result;
        try {
            transaction = transactionManager.getTransaction(transactionDefinition);
           // 业务代码
            transactionManager.commit(transaction);
            
        } catch (Exception ex) {
            if (null != transaction && !transaction.isCompleted()) {
                transactionManager.rollback(transaction);
            }

            throw ex;
        } finally {
            if (null != transaction && !transaction.isCompleted()) {
                transactionManager.rollback(transaction);
            }

        }
复制代码

 

posted @   zslm___  阅读(11)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示