乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      SpringMVC 手動(dòng)控制事務(wù)提交

       quasiceo 2018-09-08

      在springmvc的開發(fā)中,有個(gè)比較扯的東西,就是當(dāng)你在代碼中新開了一個(gè)線程,那么這個(gè)線程里面將不會(huì)有事物的存在.


      1至于為何不會(huì)有事物的存在: 因?yàn)槲覀兊氖挛锒际怯衧pringmvc統(tǒng)一管理,而你新開了個(gè)線程,并沒有提交給springmvc進(jìn)行統(tǒng)一的管理.所以,如果沒有手動(dòng)申明,是不會(huì)有事物的存在的.



      解決..


      這樣就可以提供事物支持了..

      在需要加事務(wù)的方法上加上

      DataSourceTransactionManager transactionManager = (DataSourceTransactionManager) ctx
      .getBean("txManager");
      DefaultTransactionDefinition def = new DefaultTransactionDefinition();
      def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW); // 事物隔離級(jí)別,開啟新事務(wù),這樣會(huì)比較安全些。
      TransactionStatus status = transactionManager.getTransaction(def); // 獲得事務(wù)狀態(tài)
      try {
      //邏輯代碼,可以寫上你的邏輯處理代碼
      transactionManager.commit(status);
      } catch (Exception e) {
      transactionManager.rollback(status);
      }

      這是在有 ApplicationContext 的情況下、

       

      ApplicationContext 不存在的情況下

       

          @Autowired

          private DataSourceTransactionManager txManager;

       

         DefaultTransactionDefinition def = new DefaultTransactionDefinition();

         def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRES_NEW);// 事物隔離級(jí)別,開啟新事務(wù)

         TransactionStatus status = txManager.getTransaction(def); // 獲得事務(wù)狀態(tài)

      try{
      //邏輯代碼,可以寫上你的邏輯處理代碼
      txManager.commit(status);
      }catch(Exception e){
      txManager.rollback(status);
      }





      在這里,其實(shí)還有另外一個(gè)坑

      特別需要注意,如果這里開啟了事物.沒有提交,也沒有回滾,沒有關(guān)閉,

      這個(gè)時(shí)候,服務(wù)器并不會(huì)拋出什么異常, 剛開始運(yùn)行也不會(huì)有什么錯(cuò)誤,一切運(yùn)行皆正常,

      當(dāng)這個(gè)事物開啟到一定程度后,服務(wù)器就會(huì)像死了一樣,不處理其他的事物, 但是又沒有掛,

      反正當(dāng)時(shí)很詭異,當(dāng)初我們找了好久,才想起就改了這個(gè)地方, 特意寫上這里,下次千萬注意!!


      所以,當(dāng)開啟了事物后,一定要提交或者關(guān)閉,或者回滾.....

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多