Commit d8449fbc authored by terrymanu's avatar terrymanu
Browse files

refactor TransactionConfiguration

parent 0b12f889
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -67,7 +67,7 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera
     * @throws SQLException SQL exception
     */
    public final Connection getConnection(final String dataSourceName) throws SQLException {
        JDBCTransactionConfiguration.getInstance().configTransactionContext(TransactionContextHolder.get().getTransactionType());
        JDBCTransactionConfiguration.getInstance().getTransactionManager(TransactionContextHolder.get().getTransactionType());
        if (cachedConnections.containsKey(dataSourceName)) {
            return cachedConnections.get(dataSourceName);
        }
@@ -81,7 +81,7 @@ public abstract class AbstractConnectionAdapter extends AbstractUnsupportedOpera
    
    protected abstract Map<String, DataSource> getDataSourceMap();
    
    protected void removeCache(final Connection connection) {
    protected final void removeCache(final Connection connection) {
        cachedConnections.values().remove(connection);
    }
    
+1 −1
Original line number Diff line number Diff line
@@ -40,7 +40,7 @@ import java.util.logging.Logger;
public abstract class AbstractDataSourceAdapter extends AbstractUnsupportedOperationDataSource {
    
    static {
        JDBCTransactionConfiguration.getInstance().configTransactionContext(TransactionContextHolder.get().getTransactionType());
        JDBCTransactionConfiguration.getInstance().getTransactionManager(TransactionContextHolder.get().getTransactionType());
        JDBCListenerRegister.register();
    }
    
+1 −1
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ public final class RuleRegistry {
        showSQL = shardingProperties.getValue(ShardingPropertiesConstant.SQL_SHOW);
        connectionMode = ConnectionMode.valueOf(shardingProperties.<String>getValue(ShardingPropertiesConstant.CONNECTION_MODE));
        transactionType = TransactionType.valueOf(shardingProperties.<String>getValue(ShardingPropertiesConstant.PROXY_TRANSACTION_MODE));
        transactionManager = ProxyTransactionConfiguration.getInstance().configTransactionContext(transactionType);
        transactionManager = ProxyTransactionConfiguration.getInstance().getTransactionManager(transactionType);
        acceptorSize = shardingProperties.getValue(ShardingPropertiesConstant.ACCEPTOR_SIZE);
        executorSize = shardingProperties.getValue(ShardingPropertiesConstant.EXECUTOR_SIZE);
        // TODO :jiaqi force off use NIO for backend, this feature is not complete yet
+2 −2
Original line number Diff line number Diff line
@@ -46,8 +46,8 @@ public final class JDBCTransactionConfiguration extends TransactionConfiguration
    }
    
    @Override
    protected TransactionManager doXaTransactionConfiguration(final TransactionType transactionType) {
        Optional<TransactionManager> transactionManager = doSPIConfiguration(transactionType);
    protected TransactionManager getXATransactionManager(final TransactionType transactionType) {
        Optional<TransactionManager> transactionManager = getXATransactionManagerFromSPI(transactionType);
        TransactionContext transactionContext = transactionManager.isPresent()
                ? TransactionContextFactory.newXAContext(transactionManager.get()) : TransactionContextFactory.newLocalTransactionContext();
        TransactionContextHolder.set(transactionContext);
+2 −2
Original line number Diff line number Diff line
@@ -46,8 +46,8 @@ public final class ProxyTransactionConfiguration extends TransactionConfiguratio
    }
    
    @Override
    protected TransactionManager doXaTransactionConfiguration(final TransactionType transactionType) {
        Optional<TransactionManager> transactionManager = doSPIConfiguration(transactionType);
    protected TransactionManager getXATransactionManager(final TransactionType transactionType) {
        Optional<TransactionManager> transactionManager = getXATransactionManagerFromSPI(transactionType);
        Preconditions.checkState(transactionManager.isPresent(), "there is no XA transaction manager existing, please prepare exactly one(Atomikos or Narayana) using SPI.");
        TransactionContextHolder.set(TransactionContextFactory.newXAContext(transactionManager.get()));
        return transactionManager.get();
Loading