zoukankan      html  css  js  c++  java
  • Java中手动提交事务

      项目中遇到一个问题,就是在程序的执行过程中需要不断地更新某个信息,但是在springmvc中好像是默认不可以的,那么就需要手动提交

    // 从spring容器对象中获取DataSourceTransactionManager
        public DataSourceTransactionManager getDTM(DefaultTransactionDefinition definition){
            //获取Spring容器的对象
            WebApplicationContext contextLoader = ContextLoader.getCurrentWebApplicationContext();
            //设置事务的传播行为,此处是设置为开启一个新事物
            definition.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);
            //设置事务的隔离级别,此处是读已经提交
            definition.setIsolationLevel(TransactionDefinition.ISOLATION_READ_COMMITTED);
            //从spring容器对象中获取DataSourceTransactionManager,这个根据配置文件中配置的id名(transactionManager)
            DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) contextLoader.getBean("transactionManager");
            return transactionManager;
        }
    
        //获取事务状态对象
        public TransactionStatus getTS(DataSourceTransactionManager transactionManager,DefaultTransactionDefinition definition){
            TransactionStatus transactionStatus = (TransactionStatus) transactionManager.getTransaction(definition);
            return transactionStatus;
        }
    
    
    
              // 尝试手动提交事务
                //设置属性的默认属性
                DefaultTransactionDefinition definition1 = new DefaultTransactionDefinition();
                // 获取DataSourceTransactionManager
                DataSourceTransactionManager transactionManager1 = getDTM(definition1);
                //获取事务状态对象
                TransactionStatus transactionStatus1 = getTS(transactionManager,definition1);
                iExtRulecheckLogDao.update(extRulecheckLog1);
                // 提交事务
                transactionManager.commit(transactionStatus);
  • 相关阅读:
    非旋Treap——fhq treap
    LCA
    树链剖分
    复习计划
    BZOJ2565: 最长双回文串(回文树)
    回文自动机
    luogu P3796 【模板】AC自动机(加强版)
    【BZOJ2908】 又是nand
    【HDU2460】 Network
    【CF786B】 Legacy
  • 原文地址:https://www.cnblogs.com/jyybeam/p/9396055.html
Copyright © 2011-2022 走看看