亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jtatransaction.java

?? 本套系統采用了業界當前最為流行的beanAction組件
?? JAVA
字號:
/*
 *  Copyright 2004 Clinton Begin
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 */
package com.ibatis.sqlmap.engine.transaction.jta;

import com.ibatis.common.jdbc.logging.ConnectionLogProxy;
import com.ibatis.common.logging.Log;
import com.ibatis.common.logging.LogFactory;
import com.ibatis.sqlmap.engine.transaction.IsolationLevel;
import com.ibatis.sqlmap.engine.transaction.Transaction;
import com.ibatis.sqlmap.engine.transaction.TransactionException;

import javax.sql.DataSource;
import javax.transaction.Status;
import javax.transaction.UserTransaction;
import java.sql.Connection;
import java.sql.SQLException;

public class JtaTransaction implements Transaction {

  private static final Log connectionLog = LogFactory.getLog(Connection.class);

  private UserTransaction userTransaction;
  private DataSource dataSource;
  private Connection connection;
  private IsolationLevel isolationLevel = new IsolationLevel();

  private boolean commmitted = false;
  private boolean newTransaction = false;

  public JtaTransaction(UserTransaction utx, DataSource ds, int isolationLevel) throws TransactionException {
    // Check parameters
    userTransaction = utx;
    dataSource = ds;
    if (userTransaction == null) {
      throw new TransactionException("JtaTransaction initialization failed.  UserTransaction was null.");
    }
    if (dataSource == null) {
      throw new TransactionException("JtaTransaction initialization failed.  DataSource was null.");
    }
    this.isolationLevel.setIsolationLevel(isolationLevel);
  }

  private void init() throws TransactionException, SQLException {
    // Start JTA Transaction
    try {
      newTransaction = userTransaction.getStatus() == Status.STATUS_NO_TRANSACTION;
      if (newTransaction) {
        userTransaction.begin();
      }
    } catch (Exception e) {
      throw new TransactionException("JtaTransaction could not start transaction.  Cause: ", e);
    }

    // Open JDBC Connection
    connection = dataSource.getConnection();
    if (connection == null) {
      throw new TransactionException("JtaTransaction could not start transaction.  Cause: The DataSource returned a null connection.");
    }
    // Isolation Level
    isolationLevel.applyIsolationLevel(connection);
    // AutoCommit
    if (connection.getAutoCommit()) {
      connection.setAutoCommit(false);
    }
    // Debug
    if (connectionLog.isDebugEnabled()) {
      connection = ConnectionLogProxy.newInstance(connection);
    }
  }

  public void commit() throws SQLException, TransactionException {
    if (connection != null) {
      if (commmitted) {
        throw new TransactionException("JtaTransaction could not commit because this transaction has already been committed.");
      }
      try {
        if (newTransaction) {
          userTransaction.commit();
        }
      } catch (Exception e) {
        throw new TransactionException("JtaTransaction could not commit.  Cause: ", e);
      }
      commmitted = true;
    }
  }

  public void rollback() throws SQLException, TransactionException {
    if (connection != null) {
      if (!commmitted) {
        try {
          if (userTransaction != null) {
            if (newTransaction) {
              userTransaction.rollback();
            } else {
              userTransaction.setRollbackOnly();
            }
          }
        } catch (Exception e) {
          throw new TransactionException("JtaTransaction could not rollback.  Cause: ", e);
        }
      }
    }
  }

  public void close() throws SQLException, TransactionException {
    if (connection != null) {
      try {
        isolationLevel.restoreIsolationLevel(connection);
      } finally {
        connection.close();
        connection = null;
      }
    }
  }

  public Connection getConnection() throws SQLException, TransactionException {
    if (connection == null) {
      init();
    }
    return connection;
  }


}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品99久久久久久久女警 | 99久久精品费精品国产一区二区| 中文一区二区在线观看| 91丨国产丨九色丨pron| 日韩国产高清影视| 亚洲色欲色欲www| 日韩欧美视频在线| 色综合天天综合在线视频| 另类小说色综合网站| 亚洲麻豆国产自偷在线| 欧美一区二区三区在线电影| 成人精品视频.| 中文字幕一区在线观看| 99天天综合性| 精品一区二区三区的国产在线播放 | 欧美三电影在线| 91丨九色丨尤物| 91香蕉国产在线观看软件| 国产91在线|亚洲| 精品系列免费在线观看| 青草av.久久免费一区| 亚洲成人激情自拍| 亚洲亚洲人成综合网络| 亚洲一区二区三区四区的| 亚洲欧美激情视频在线观看一区二区三区 | av激情综合网| 国产黄色精品网站| 粉嫩av一区二区三区| 国产一区二区美女诱惑| 国产一区二区三区国产| 国产高清亚洲一区| 国产精品一区在线观看你懂的| 美女任你摸久久| 紧缚奴在线一区二区三区| 国产一区二区三区久久悠悠色av| 麻豆国产精品官网| 丰满少妇久久久久久久| 91无套直看片红桃| 在线看国产日韩| 日韩精品一区二区三区视频| 日韩免费观看高清完整版| 久久欧美一区二区| 亚洲人成亚洲人成在线观看图片 | 色综合天天综合在线视频| 欧美精品一二三| 国产日产亚洲精品系列| 亚洲日本va在线观看| 免费在线观看成人| 成人黄色777网| 欧美区一区二区三区| 欧美激情一区二区三区在线| 亚洲免费av高清| 九一九一国产精品| 欧美在线三级电影| 国产女同性恋一区二区| 日本免费新一区视频| 国产成a人亚洲精品| 日韩欧美国产一区二区三区| 麻豆极品一区二区三区| 99久久er热在这里只有精品15| 国产精品66部| 豆国产96在线|亚洲| 色一区在线观看| 国产亚洲精久久久久久| 午夜成人在线视频| 欧美亚洲免费在线一区| 国产视频一区二区在线观看| 麻豆高清免费国产一区| 欧美男女性生活在线直播观看| 国产精品国产三级国产普通话蜜臀| 男女男精品视频| 欧美日韩国产美女| 亚洲一区二区三区在线看| 91在线国产观看| 亚洲婷婷在线视频| 91啪在线观看| 国产精品不卡在线| 成人免费毛片片v| 一区视频在线播放| aaa欧美大片| 一区av在线播放| 91黄色小视频| 秋霞av亚洲一区二区三| 欧美一区二区视频免费观看| 日韩激情中文字幕| 日韩欧美国产午夜精品| 国产一区二区三区精品视频| 国产精品白丝在线| 91黄色免费网站| 蜜臀av性久久久久蜜臀av麻豆| www成人在线观看| 成人免费观看视频| 亚洲福利一区二区三区| 日韩欧美电影一区| www.欧美日韩| 国产成人av电影在线| 中文字幕一区在线| 91麻豆精品久久久久蜜臀| 久久er99精品| 亚洲制服欧美中文字幕中文字幕| 日韩一级高清毛片| 成人app网站| 精品一区中文字幕| 最新久久zyz资源站| 日韩欧美一级在线播放| 成人免费视频app| 九色|91porny| 亚洲高清不卡在线| 1024精品合集| 国产网站一区二区| 日韩三级av在线播放| 91麻豆国产香蕉久久精品| 国产一区二区三区免费播放| 午夜激情综合网| 曰韩精品一区二区| 国产精品国产三级国产普通话99| 日韩一级成人av| 5566中文字幕一区二区电影| 99久久国产综合精品女不卡| 国产精品18久久久| 奇米精品一区二区三区在线观看| 国产精品灌醉下药二区| 欧美精选在线播放| 国产一区二区伦理片| 一区二区三区视频在线看| 日韩码欧中文字| 综合电影一区二区三区| 国产精品网曝门| 国产精品美女www爽爽爽| 国产清纯在线一区二区www| 久久美女高清视频| 欧美xxxxxxxxx| 日韩免费视频一区| 26uuu精品一区二区| 精品黑人一区二区三区久久| 91精品国产综合久久久久久漫画| 欧美一区二区三区在| 久久综合成人精品亚洲另类欧美| 久久久久久久久久久黄色| 国产精品国产自产拍在线| 日韩毛片精品高清免费| 午夜天堂影视香蕉久久| 另类成人小视频在线| 国产不卡视频在线观看| 在线观看av一区二区| 欧美另类变人与禽xxxxx| 精品国产99国产精品| 国产精品久久久久三级| 午夜精品一区二区三区三上悠亚| 日韩精品三区四区| 波多野结衣在线aⅴ中文字幕不卡| 91免费国产在线| 精品91自产拍在线观看一区| 亚洲欧美日韩在线不卡| 日韩电影在线一区二区| 国产精品综合久久| 欧美精品久久99久久在免费线| xnxx国产精品| www.在线成人| 久久久久久久久久久久电影| 亚洲一区二区三区在线看| 成人性色生活片| 日韩一本二本av| 亚洲午夜激情网页| av电影在线观看完整版一区二区| 欧美丰满少妇xxxxx高潮对白| 亚洲欧美中日韩| 国产在线视频一区二区| 欧美一区二区三区免费大片| 亚洲综合色网站| 美女网站色91| 欧美久久久久久久久久| 亚洲一卡二卡三卡四卡五卡| 国产成人精品三级麻豆| 2020国产成人综合网| 久久99国内精品| 久久婷婷综合激情| 精品无码三级在线观看视频 | a级精品国产片在线观看| 久久久久9999亚洲精品| 国产中文一区二区三区| 88在线观看91蜜桃国自产| 丝袜美腿亚洲色图| 欧美高清视频在线高清观看mv色露露十八| 国产精品剧情在线亚洲| 色综合色狠狠综合色| 亚洲欧美日韩中文字幕一区二区三区| 波多野结衣的一区二区三区| 一卡二卡欧美日韩| 在线观看91av| 国产综合一区二区| 中文av字幕一区| 91浏览器打开| 国产精品水嫩水嫩| 国产精品99久久久久久久vr| 日韩精品一区二区三区在线| 国产精品18久久久久久vr| 亚洲色图视频网站| 7777精品伊人久久久大香线蕉完整版| 久久国产福利国产秒拍|