wuzeyu
2024-07-11 288fd4f39fae6bcd0a26cdbcbf0a17c3bd3a877d
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/multiDataSource/MultiDataSourceTransaction.java
@@ -10,6 +10,12 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
/**
 * 多数据源的事务类,事务对象由事务工厂创建,完成数据库事务操作。
 * 事务对象包裹着:
 *   数据库连接、事务提交、事务回滚等对象及操作
 * 在事务对象中具体决定采用的具体数据源
 */
public class MultiDataSourceTransaction implements Transaction {
    private final DataSource multidataSource;
@@ -19,9 +25,10 @@
    private boolean autoCommit;
    public MultiDataSourceTransaction(DataSource dataSource) {
    public MultiDataSourceTransaction(DataSource dataSource, boolean autoCommit) {
        //dataSource是DynamicDataSource类的实例
        this.multidataSource = dataSource;
        this.autoCommit = autoCommit;
        curConMap = new ConcurrentHashMap<>();
    }
@@ -38,7 +45,7 @@
        if (!this.curConMap.containsKey(nowDsName)) {
            try {
                Connection conn = this.multidataSource.getConnection();
                autoCommit=false;
                this.autoCommit = false;
                conn.setAutoCommit(false);
                this.curConMap.put(nowDsName, conn);
            } catch (SQLException ex) {