diff --git a/src/main/java/com/alibaba/druid/pool/ConnectionHolder.java b/src/main/java/com/alibaba/druid/pool/ConnectionHolder.java index f6c7e661ff..ef88419b24 100644 --- a/src/main/java/com/alibaba/druid/pool/ConnectionHolder.java +++ b/src/main/java/com/alibaba/druid/pool/ConnectionHolder.java @@ -115,11 +115,11 @@ public final class ConnectionHolder { this.lastActiveTimeMillis = lastActiveMillis; } - public void addTrace(PoolableStatement stmt) { + public void addTrace(DruidPooledStatement stmt) { statementTrace.add(stmt); } - public void removeTrace(PoolableStatement stmt) { + public void removeTrace(DruidPooledStatement stmt) { statementTrace.remove(stmt); } diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index 1818fd43e1..7f939b2fa5 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -168,7 +168,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements protected final AtomicLong errorCount = new AtomicLong(); protected final AtomicLong dupCloseCount = new AtomicLong(); - protected final ConcurrentIdentityHashMap activeConnections = new ConcurrentIdentityHashMap(); + protected final ConcurrentIdentityHashMap activeConnections = new ConcurrentIdentityHashMap(); protected long id; @@ -211,10 +211,20 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements protected boolean isOracle = false; + protected boolean useOracleImplicitCache = false; + public boolean isOracle() { return isOracle; } + public boolean isUseOracleImplicitCache() { + return useOracleImplicitCache; + } + + public void setUseOracleImplicitCache(boolean useOracleImplicitCache) { + this.useOracleImplicitCache = useOracleImplicitCache; + } + public Throwable getLastCreateError() { return lastCreateError; } @@ -1063,11 +1073,11 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements } } - public Set getActiveConnections() { + public Set getActiveConnections() { return this.activeConnections.keySet(); } - void removeActiveConnection(PoolableConnection conn) { + void removeActiveConnection(DruidPooledConnection conn) { activeConnections.remove(conn); } @@ -1115,7 +1125,7 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements return transactionIdSeed.getAndIncrement(); } - void initStatement(PoolableConnection conn, Statement stmt) throws SQLException { + void initStatement(DruidPooledConnection conn, Statement stmt) throws SQLException { boolean transaction = !conn.getConnectionHolder().isUnderlyingAutoCommit(); int queryTimeout = transaction ? getTransactionQueryTimeout() : getQueryTimeout(); @@ -1125,10 +1135,10 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements } } - public abstract void handleConnectionException(PoolableConnection pooledConnection, Throwable t) + public abstract void handleConnectionException(DruidPooledConnection pooledConnection, Throwable t) throws SQLException; - protected abstract void recycle(PoolableConnection pooledConnection) throws SQLException; + protected abstract void recycle(DruidPooledConnection pooledConnection) throws SQLException; abstract void incrementCreateCount(); @@ -1245,13 +1255,13 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements dataSource.validateConnection(conn); dataSource.createError = null; -// if (dataSource.isOracle() && dataSource.isPoolPreparedStatements()) { -// int cacheSize = dataSource.getMaxPoolPreparedStatementPerConnectionSize(); -// if (cacheSize > 0) { -// OracleUtils.setImplicitCachingEnabled(conn, true); -// OracleUtils.setStatementCacheSize(conn, cacheSize); -// } -// } + // if (dataSource.isOracle() && dataSource.isPoolPreparedStatements()) { + // int cacheSize = dataSource.getMaxPoolPreparedStatementPerConnectionSize(); + // if (cacheSize > 0) { + // OracleUtils.setImplicitCachingEnabled(conn, true); + // OracleUtils.setStatementCacheSize(conn, cacheSize); + // } + // } } catch (SQLException ex) { dataSource.createErrorCount++; dataSource.createError = ex; diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java index 97c4dcb908..834d95daa3 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSourceMBean.java @@ -146,4 +146,8 @@ public interface DruidAbstractDataSourceMBean { long getCachedPreparedStatementMissCount(); long getCachedPreparedStatementHitCount(); + + boolean isUseOracleImplicitCache(); + + void setUseOracleImplicitCache(boolean useOracleImplicitCache); } diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index c06e761ca4..37ac05eece 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -42,7 +42,7 @@ import com.alibaba.druid.VERSION; import com.alibaba.druid.filter.Filter; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; import com.alibaba.druid.pool.vendor.InformixExceptionSorter; import com.alibaba.druid.pool.vendor.MSSQLValidConnectionChecker; import com.alibaba.druid.pool.vendor.MockExceptionSorter; @@ -387,7 +387,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } for (;;) { - PoolableConnection poolalbeConnection = getConnectionInternal(maxWaitMillis); + DruidPooledConnection poolalbeConnection = getConnectionInternal(maxWaitMillis); if (isTestOnBorrow()) { boolean validate = testConnectionInternal(poolalbeConnection.getConnection()); @@ -462,8 +462,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } } - private PoolableConnection getConnectionInternal(long maxWait) throws SQLException { - PoolableConnection poolalbeConnection; + private DruidPooledConnection getConnectionInternal(long maxWait) throws SQLException { + DruidPooledConnection poolalbeConnection; try { lock.lockInterruptibly(); @@ -498,7 +498,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat activePeakTime = System.currentTimeMillis(); } - poolalbeConnection = new PoolableConnection(holder); + poolalbeConnection = new DruidPooledConnection(holder); } catch (InterruptedException e) { connectErrorCount++; throw new SQLException(e.getMessage(), e); @@ -511,7 +511,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat return poolalbeConnection; } - public void handleConnectionException(PoolableConnection pooledConnection, Throwable t) throws SQLException { + public void handleConnectionException(DruidPooledConnection pooledConnection, Throwable t) throws SQLException { final ConnectionHolder holder = pooledConnection.getConnectionHolder(); errorCount.incrementAndGet(); @@ -545,7 +545,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat /** * 回收连接 */ - protected void recycle(PoolableConnection pooledConnection) throws SQLException { + protected void recycle(DruidPooledConnection pooledConnection) throws SQLException { final Connection conn = pooledConnection.getConnection(); final ConnectionHolder holder = pooledConnection.getConnectionHolder(); @@ -992,19 +992,19 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat public int removeAbandoned() { int removeCount = 0; - Iterator> iter = activeConnections.entrySet().iterator(); + Iterator> iter = activeConnections.entrySet().iterator(); long currentMillis = System.currentTimeMillis(); - List abondonedList = new ArrayList(); + List abondonedList = new ArrayList(); for (; iter.hasNext();) { - Map.Entry entry = iter.next(); + Map.Entry entry = iter.next(); ActiveConnectionTraceInfo activeInfo = entry.getValue(); long timeMillis = currentMillis - activeInfo.getConnectTime(); if (timeMillis >= removeAbandonedTimeoutMillis) { - PoolableConnection pooledConnection = entry.getKey(); + DruidPooledConnection pooledConnection = entry.getKey(); JdbcUtils.close(pooledConnection); removeAbandonedCount++; removeCount++; @@ -1027,7 +1027,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } // multi-check dup close - for (PoolableConnection conn : abondonedList) { + for (DruidPooledConnection conn : abondonedList) { activeConnections.remove(conn); } @@ -1051,18 +1051,18 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat static class ActiveConnectionTraceInfo { - private final PoolableConnection connection; + private final DruidPooledConnection connection; private final long connectTime; private final StackTraceElement[] stackTrace; - public ActiveConnectionTraceInfo(PoolableConnection connection, long connectTime, StackTraceElement[] stackTrace){ + public ActiveConnectionTraceInfo(DruidPooledConnection connection, long connectTime, StackTraceElement[] stackTrace){ super(); this.connection = connection; this.connectTime = connectTime; this.stackTrace = stackTrace; } - public PoolableConnection getConnection() { + public DruidPooledConnection getConnection() { return connection; } diff --git a/src/main/java/com/alibaba/druid/pool/PoolableCallableStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledCallableStatement.java similarity index 99% rename from src/main/java/com/alibaba/druid/pool/PoolableCallableStatement.java rename to src/main/java/com/alibaba/druid/pool/DruidPooledCallableStatement.java index 3b0e823d8a..4b32049cda 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableCallableStatement.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledCallableStatement.java @@ -33,11 +33,11 @@ import java.util.Calendar; /** * @author wenshao */ -public class PoolableCallableStatement extends PoolablePreparedStatement implements CallableStatement { +public class DruidPooledCallableStatement extends DruidPooledPreparedStatement implements CallableStatement { private CallableStatement stmt; - public PoolableCallableStatement(PoolableConnection conn, PreparedStatementHolder holder) throws SQLException{ + public DruidPooledCallableStatement(DruidPooledConnection conn, PreparedStatementHolder holder) throws SQLException{ super(conn, holder); this.stmt = (CallableStatement) holder.getStatement(); } diff --git a/src/main/java/com/alibaba/druid/pool/PoolableConnection.java b/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java similarity index 94% rename from src/main/java/com/alibaba/druid/pool/PoolableConnection.java rename to src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java index e8ce6508c3..e5e1641c57 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableConnection.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledConnection.java @@ -37,21 +37,20 @@ import java.util.concurrent.Executor; import javax.sql.ConnectionEvent; import javax.sql.ConnectionEventListener; -import javax.sql.PooledConnection; import javax.sql.StatementEventListener; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; import com.alibaba.druid.pool.PreparedStatementPool.MethodType; import com.alibaba.druid.util.TransactionInfo; /** * @author wenshao */ -public class PoolableConnection implements PooledConnection, Connection { +public class DruidPooledConnection implements javax.sql.PooledConnection, Connection { - private final static Log LOG = LogFactory.getLog(PoolableConnection.class); + private final static Log LOG = LogFactory.getLog(DruidPooledConnection.class); protected Connection conn; protected ConnectionHolder holder; @@ -62,7 +61,7 @@ public class PoolableConnection implements PooledConnection, Connection { private boolean closed = false; private final Thread ownerThread; - public PoolableConnection(ConnectionHolder holder){ + public DruidPooledConnection(ConnectionHolder holder){ this.conn = holder.getConnection(); this.holder = holder; dupCloseLogEnable = holder.getDataSource().isDupCloseLogEnable(); @@ -96,12 +95,12 @@ public class PoolableConnection implements PooledConnection, Connection { throw new SQLException("Error", t); } - + public boolean isOracle() { return holder.getDataSource().isOracle(); } - void closePoolableStatement(PoolablePreparedStatement stmt) throws SQLException { + void closePoolableStatement(DruidPooledPreparedStatement stmt) throws SQLException { if (this.holder == null) { return; } @@ -117,15 +116,15 @@ public class PoolableConnection implements PooledConnection, Connection { if (holder == null) { return; } - + if (holder.isPoolPreparedStatements()) { holder.getStatementPool().put(stmt.getPreparedStatementHolder()); - + stmt.clearResultSet(); holder.removeTrace(stmt); - + stmt.getPreparedStatementHolder().setFetchRowPeak(stmt.getFetchRowPeak()); - + stmt.setClosed(true); // soft set close } else { stmt.closeInternal(); @@ -204,7 +203,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -238,7 +237,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -273,7 +272,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -304,7 +303,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -335,7 +334,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -366,7 +365,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolablePreparedStatement rtnVal = new PoolablePreparedStatement(this, stmtHolder); + DruidPooledPreparedStatement rtnVal = new DruidPooledPreparedStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -399,7 +398,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolableCallableStatement rtnVal = new PoolableCallableStatement(this, stmtHolder); + DruidPooledCallableStatement rtnVal = new DruidPooledCallableStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -434,7 +433,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolableCallableStatement rtnVal = new PoolableCallableStatement(this, stmtHolder); + DruidPooledCallableStatement rtnVal = new DruidPooledCallableStatement(this, stmtHolder); holder.addTrace(rtnVal); @@ -467,7 +466,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmtHolder.getStatement()); - PoolableCallableStatement rtnVal = new PoolableCallableStatement(this, stmtHolder); + DruidPooledCallableStatement rtnVal = new DruidPooledCallableStatement(this, stmtHolder); holder.addTrace(rtnVal); return rtnVal; @@ -488,7 +487,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmt); - PoolableStatement poolableStatement = new PoolableStatement(this, stmt); + DruidPooledStatement poolableStatement = new DruidPooledStatement(this, stmt); holder.addTrace(poolableStatement); return poolableStatement; @@ -508,7 +507,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmt); - PoolableStatement poolableStatement = new PoolableStatement(this, stmt); + DruidPooledStatement poolableStatement = new DruidPooledStatement(this, stmt); holder.addTrace(poolableStatement); return poolableStatement; @@ -527,7 +526,7 @@ public class PoolableConnection implements PooledConnection, Connection { holder.getDataSource().initStatement(this, stmt); - PoolableStatement poolableStatement = new PoolableStatement(this, stmt); + DruidPooledStatement poolableStatement = new DruidPooledStatement(this, stmt); holder.addTrace(poolableStatement); return poolableStatement; diff --git a/src/main/java/com/alibaba/druid/pool/PoolablePreparedStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledPreparedStatement.java similarity index 98% rename from src/main/java/com/alibaba/druid/pool/PoolablePreparedStatement.java rename to src/main/java/com/alibaba/druid/pool/DruidPooledPreparedStatement.java index 3e93e638b7..4f93330fff 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolablePreparedStatement.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledPreparedStatement.java @@ -43,7 +43,7 @@ import com.alibaba.druid.util.OracleUtils; /** * @author wenshao */ -public class PoolablePreparedStatement extends PoolableStatement implements PreparedStatement { +public class DruidPooledPreparedStatement extends DruidPooledStatement implements PreparedStatement { private final PreparedStatementHolder holder; private final PreparedStatement stmt; @@ -60,7 +60,7 @@ public class PoolablePreparedStatement extends PoolableStatement implements Prep private int currentFetchDirection; private int currentFetchSize; - public PoolablePreparedStatement(PoolableConnection conn, PreparedStatementHolder holder) throws SQLException{ + public DruidPooledPreparedStatement(DruidPooledConnection conn, PreparedStatementHolder holder) throws SQLException{ super(conn, holder.getStatement()); this.stmt = holder.getStatement(); this.holder = holder; @@ -179,7 +179,7 @@ public class PoolablePreparedStatement extends PoolableStatement implements Prep try { ResultSet rs = stmt.executeQuery(); - PoolableResultSet poolableResultSet = new PoolableResultSet(this, rs); + DruidPooledResultSet poolableResultSet = new DruidPooledResultSet(this, rs); resultSetTrace.add(poolableResultSet); return poolableResultSet; diff --git a/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java b/src/main/java/com/alibaba/druid/pool/DruidPooledResultSet.java similarity index 99% rename from src/main/java/com/alibaba/druid/pool/PoolableResultSet.java rename to src/main/java/com/alibaba/druid/pool/DruidPooledResultSet.java index 6d2bb35f88..1dc2491ee2 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableResultSet.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledResultSet.java @@ -36,16 +36,16 @@ import java.util.Calendar; /** * @author wenshao */ -public final class PoolableResultSet extends PoolableWrapper implements ResultSet { +public final class DruidPooledResultSet extends PoolableWrapper implements ResultSet { private final ResultSet rs; - private final PoolableStatement stmt; + private final DruidPooledStatement stmt; private boolean closed = false; protected int cursorIndex = 0; protected int fetchRowCount = 0; - public PoolableResultSet(PoolableStatement stmt, ResultSet rs){ + public DruidPooledResultSet(DruidPooledStatement stmt, ResultSet rs){ super(rs); this.stmt = stmt; this.rs = rs; @@ -55,7 +55,7 @@ public final class PoolableResultSet extends PoolableWrapper implements ResultSe return stmt.checkException(error); } - public PoolableStatement getPoolableStatement() { + public DruidPooledStatement getPoolableStatement() { return stmt; } diff --git a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java similarity index 95% rename from src/main/java/com/alibaba/druid/pool/PoolableStatement.java rename to src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java index c3895f0c32..a50ebe7adf 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java @@ -29,17 +29,17 @@ import com.alibaba.druid.logging.LogFactory; /** * @author wenshao */ -public class PoolableStatement extends PoolableWrapper implements Statement { +public class DruidPooledStatement extends PoolableWrapper implements Statement { - private final static Log LOG = LogFactory.getLog(PoolableStatement.class); + private final static Log LOG = LogFactory.getLog(DruidPooledStatement.class); private final Statement stmt; - protected PoolableConnection conn; + protected DruidPooledConnection conn; protected final List resultSetTrace = new ArrayList(); protected boolean closed = false; protected int fetchRowPeak = -1; - public PoolableStatement(PoolableConnection conn, Statement stmt){ + public DruidPooledStatement(DruidPooledConnection conn, Statement stmt){ super(stmt); this.conn = conn; @@ -60,11 +60,11 @@ public class PoolableStatement extends PoolableWrapper implements Statement { return conn.handleException(error); } - public PoolableConnection getPoolableConnection() { + public DruidPooledConnection getPoolableConnection() { return conn; } - public void setPoolableConnection(PoolableConnection conn) { + public void setPoolableConnection(DruidPooledConnection conn) { this.conn = conn; } @@ -105,7 +105,7 @@ public class PoolableStatement extends PoolableWrapper implements Statement { try { ResultSet rs = stmt.executeQuery(sql); - PoolableResultSet poolableResultSet = new PoolableResultSet(this, rs); + DruidPooledResultSet poolableResultSet = new DruidPooledResultSet(this, rs); resultSetTrace.add(poolableResultSet); return poolableResultSet; @@ -284,7 +284,7 @@ public class PoolableStatement extends PoolableWrapper implements Statement { try { ResultSet rs = stmt.getResultSet(); - PoolableResultSet poolableResultSet = new PoolableResultSet(this, rs); + DruidPooledResultSet poolableResultSet = new DruidPooledResultSet(this, rs); resultSetTrace.add(poolableResultSet); return poolableResultSet; @@ -443,7 +443,7 @@ public class PoolableStatement extends PoolableWrapper implements Statement { try { ResultSet rs = stmt.getGeneratedKeys(); - PoolableResultSet poolableResultSet = new PoolableResultSet(this, rs); + DruidPooledResultSet poolableResultSet = new DruidPooledResultSet(this, rs); resultSetTrace.add(poolableResultSet); diff --git a/src/main/java/com/alibaba/druid/pool/PreparedStatementHolder.java b/src/main/java/com/alibaba/druid/pool/PreparedStatementHolder.java index 6b37f3b39a..0c2676d068 100644 --- a/src/main/java/com/alibaba/druid/pool/PreparedStatementHolder.java +++ b/src/main/java/com/alibaba/druid/pool/PreparedStatementHolder.java @@ -17,7 +17,7 @@ package com.alibaba.druid.pool; import java.sql.PreparedStatement; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; /** * @author wenshao @@ -26,18 +26,28 @@ public final class PreparedStatementHolder { private final PreparedStatementKey key; private final PreparedStatement statement; - private int hitCount = 0; + private int hitCount = 0; - private int fetchRowPeak = -1; + private int fetchRowPeak = -1; - private int defaultRowPretch = -1; - private int rowPrefetch = -1; + private int defaultRowPretch = -1; + private int rowPrefetch = -1; + + private boolean enterOracleImplicitCache = false; public PreparedStatementHolder(PreparedStatementKey key, PreparedStatement stmt){ this.key = key; this.statement = stmt; } + public boolean isEnterOracleImplicitCache() { + return enterOracleImplicitCache; + } + + public void setEnterOracleImplicitCache(boolean enterOracleImplicitCache) { + this.enterOracleImplicitCache = enterOracleImplicitCache; + } + public int getDefaultRowPretch() { return defaultRowPretch; } diff --git a/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java b/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java index 76d502d001..4db12a428a 100644 --- a/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java +++ b/src/main/java/com/alibaba/druid/pool/PreparedStatementPool.java @@ -24,7 +24,7 @@ import java.util.Map.Entry; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; import com.alibaba.druid.util.OracleUtils; /** @@ -32,10 +32,10 @@ import com.alibaba.druid.util.OracleUtils; */ public class PreparedStatementPool { - private final static Log LOG = LogFactory.getLog(PreparedStatementPool.class); + private final static Log LOG = LogFactory.getLog(PreparedStatementPool.class); - private final Map map; - private final DruidAbstractDataSource dataSource; + private final LRUCache map; + private final DruidAbstractDataSource dataSource; public PreparedStatementPool(ConnectionHolder holder){ this.dataSource = holder.getDataSource(); @@ -56,7 +56,9 @@ public class PreparedStatementPool { if (holder != null) { holder.incrementHitCount(); dataSource.incrementCachedPreparedStatementHitCount(); - OracleUtils.exitImplicitCacheToActive(holder.getStatement()); + if (holder.isEnterOracleImplicitCache()) { + OracleUtils.exitImplicitCacheToActive(holder.getStatement()); + } } else { dataSource.incrementCachedPreparedStatementMissCount(); } @@ -71,12 +73,15 @@ public class PreparedStatementPool { return; } - if (dataSource.isOracle()) { + if (dataSource.isOracle() && dataSource.isUseOracleImplicitCache()) { OracleUtils.enterImplicitCache(stmt); - + holder.setEnterOracleImplicitCache(true); + } else { + holder.setEnterOracleImplicitCache(false); } PreparedStatementKey key = holder.getKey(); + PreparedStatementHolder oldHolder = map.put(key, holder); if (oldHolder != null && oldHolder != holder) { dataSource.closePreapredStatement(oldHolder); @@ -85,6 +90,7 @@ public class PreparedStatementPool { dataSource.incrementCachedPreparedStatementCount(); } } + } public void clear() throws SQLException { @@ -99,7 +105,7 @@ public class PreparedStatementPool { } private void closeStatement(PreparedStatementHolder holder) throws SQLException { - if (dataSource.isOracle()) { + if (holder.isEnterOracleImplicitCache()) { OracleUtils.exitImplicitCacheToClose(holder.getStatement()); } dataSource.closePreapredStatement(holder); diff --git a/src/main/java/com/alibaba/druid/pool/vendor/OracleValidConnectionChecker.java b/src/main/java/com/alibaba/druid/pool/vendor/OracleValidConnectionChecker.java index c3f54862a2..7d6a66b0ef 100644 --- a/src/main/java/com/alibaba/druid/pool/vendor/OracleValidConnectionChecker.java +++ b/src/main/java/com/alibaba/druid/pool/vendor/OracleValidConnectionChecker.java @@ -27,7 +27,7 @@ import java.sql.SQLException; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.ValidConnectionChecker; import com.alibaba.druid.proxy.jdbc.ConnectionProxy; import com.alibaba.druid.util.OracleUtils; @@ -57,8 +57,8 @@ public class OracleValidConnectionChecker implements ValidConnectionChecker, Ser } try { - if (conn instanceof PoolableConnection) { - conn = ((PoolableConnection) conn).getConnection(); + if (conn instanceof DruidPooledConnection) { + conn = ((DruidPooledConnection) conn).getConnection(); } if (conn instanceof ConnectionProxy) { diff --git a/src/main/java/com/alibaba/druid/pool/xa/XAPoolableConnection.java b/src/main/java/com/alibaba/druid/pool/xa/XAPoolableConnection.java index 9a18ad2fc0..c80d9bda4f 100644 --- a/src/main/java/com/alibaba/druid/pool/xa/XAPoolableConnection.java +++ b/src/main/java/com/alibaba/druid/pool/xa/XAPoolableConnection.java @@ -12,9 +12,9 @@ import javax.transaction.xa.Xid; import com.alibaba.druid.logging.Log; import com.alibaba.druid.logging.LogFactory; import com.alibaba.druid.pool.ConnectionHolder; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; -public class XAPoolableConnection extends PoolableConnection implements XAResource { +public class XAPoolableConnection extends DruidPooledConnection implements XAResource { private final static Log LOG = LogFactory.getLog(XAPoolableConnection.class); diff --git a/src/main/java/com/alibaba/druid/spring/DruidJdbcExtractor.java b/src/main/java/com/alibaba/druid/spring/DruidJdbcExtractor.java index 18f528417b..b56a67a789 100644 --- a/src/main/java/com/alibaba/druid/spring/DruidJdbcExtractor.java +++ b/src/main/java/com/alibaba/druid/spring/DruidJdbcExtractor.java @@ -9,11 +9,11 @@ import java.sql.Statement; import org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor; -import com.alibaba.druid.pool.PoolableCallableStatement; -import com.alibaba.druid.pool.PoolableConnection; -import com.alibaba.druid.pool.PoolablePreparedStatement; -import com.alibaba.druid.pool.PoolableResultSet; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledCallableStatement; +import com.alibaba.druid.pool.DruidPooledConnection; +import com.alibaba.druid.pool.DruidPooledPreparedStatement; +import com.alibaba.druid.pool.DruidPooledResultSet; +import com.alibaba.druid.pool.DruidPooledStatement; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; import com.alibaba.druid.proxy.jdbc.ConnectionProxy; import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy; @@ -40,8 +40,8 @@ public class DruidJdbcExtractor implements NativeJdbcExtractor { @Override public Connection getNativeConnection(Connection conn) throws SQLException { - if (conn instanceof PoolableConnection) { - conn = ((PoolableConnection) conn).getConnection(); + if (conn instanceof DruidPooledConnection) { + conn = ((DruidPooledConnection) conn).getConnection(); } if (conn instanceof ConnectionProxy) { @@ -58,8 +58,8 @@ public class DruidJdbcExtractor implements NativeJdbcExtractor { @Override public Statement getNativeStatement(Statement stmt) throws SQLException { - if (stmt instanceof PoolableStatement) { - stmt = ((PoolableStatement) stmt).getStatement(); + if (stmt instanceof DruidPooledStatement) { + stmt = ((DruidPooledStatement) stmt).getStatement(); } if (stmt instanceof StatementProxy) { @@ -71,8 +71,8 @@ public class DruidJdbcExtractor implements NativeJdbcExtractor { @Override public PreparedStatement getNativePreparedStatement(PreparedStatement stmt) throws SQLException { - if (stmt instanceof PoolablePreparedStatement) { - stmt = ((PoolablePreparedStatement) stmt).getRawPreparedStatement(); + if (stmt instanceof DruidPooledPreparedStatement) { + stmt = ((DruidPooledPreparedStatement) stmt).getRawPreparedStatement(); } if (stmt instanceof PreparedStatementProxy) { @@ -84,8 +84,8 @@ public class DruidJdbcExtractor implements NativeJdbcExtractor { @Override public CallableStatement getNativeCallableStatement(CallableStatement stmt) throws SQLException { - if (stmt instanceof PoolableCallableStatement) { - stmt = ((PoolableCallableStatement) stmt).getCallableStatementRaw(); + if (stmt instanceof DruidPooledCallableStatement) { + stmt = ((DruidPooledCallableStatement) stmt).getCallableStatementRaw(); } if (stmt instanceof CallableStatementProxy) { @@ -97,8 +97,8 @@ public class DruidJdbcExtractor implements NativeJdbcExtractor { @Override public ResultSet getNativeResultSet(ResultSet rs) throws SQLException { - if (rs instanceof PoolableResultSet) { - rs = ((PoolableResultSet) rs).getRawResultSet(); + if (rs instanceof DruidPooledResultSet) { + rs = ((DruidPooledResultSet) rs).getRawResultSet(); } if (rs instanceof ResultSetProxy) { diff --git a/src/main/java/com/alibaba/druid/support/spring/DruidNativeJdbcExtractor.java b/src/main/java/com/alibaba/druid/support/spring/DruidNativeJdbcExtractor.java index 6c6edf3266..e5ccf998b5 100644 --- a/src/main/java/com/alibaba/druid/support/spring/DruidNativeJdbcExtractor.java +++ b/src/main/java/com/alibaba/druid/support/spring/DruidNativeJdbcExtractor.java @@ -9,11 +9,11 @@ import java.sql.Statement; import org.springframework.jdbc.support.nativejdbc.NativeJdbcExtractor; -import com.alibaba.druid.pool.PoolableCallableStatement; -import com.alibaba.druid.pool.PoolableConnection; -import com.alibaba.druid.pool.PoolablePreparedStatement; -import com.alibaba.druid.pool.PoolableResultSet; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledCallableStatement; +import com.alibaba.druid.pool.DruidPooledConnection; +import com.alibaba.druid.pool.DruidPooledPreparedStatement; +import com.alibaba.druid.pool.DruidPooledResultSet; +import com.alibaba.druid.pool.DruidPooledStatement; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; import com.alibaba.druid.proxy.jdbc.ConnectionProxy; import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy; @@ -39,8 +39,8 @@ public class DruidNativeJdbcExtractor implements NativeJdbcExtractor { @Override public Connection getNativeConnection(Connection conn) throws SQLException { - if (conn instanceof PoolableConnection) { - conn = ((PoolableConnection) conn).getConnection(); + if (conn instanceof DruidPooledConnection) { + conn = ((DruidPooledConnection) conn).getConnection(); } if (conn instanceof ConnectionProxy) { @@ -58,8 +58,8 @@ public class DruidNativeJdbcExtractor implements NativeJdbcExtractor { @Override public Statement getNativeStatement(Statement stmt) throws SQLException { - if (stmt instanceof PoolableStatement) { - stmt = ((PoolableStatement) stmt).getStatement(); + if (stmt instanceof DruidPooledStatement) { + stmt = ((DruidPooledStatement) stmt).getStatement(); } if (stmt instanceof StatementProxy) { @@ -71,8 +71,8 @@ public class DruidNativeJdbcExtractor implements NativeJdbcExtractor { @Override public PreparedStatement getNativePreparedStatement(PreparedStatement stmt) throws SQLException { - if (stmt instanceof PoolablePreparedStatement) { - stmt = ((PoolablePreparedStatement) stmt).getRawPreparedStatement(); + if (stmt instanceof DruidPooledPreparedStatement) { + stmt = ((DruidPooledPreparedStatement) stmt).getRawPreparedStatement(); } if (stmt instanceof PreparedStatementProxy) { @@ -84,8 +84,8 @@ public class DruidNativeJdbcExtractor implements NativeJdbcExtractor { @Override public CallableStatement getNativeCallableStatement(CallableStatement stmt) throws SQLException { - if (stmt instanceof PoolableCallableStatement) { - stmt = ((PoolableCallableStatement) stmt).getCallableStatementRaw(); + if (stmt instanceof DruidPooledCallableStatement) { + stmt = ((DruidPooledCallableStatement) stmt).getCallableStatementRaw(); } if (stmt instanceof CallableStatementProxy) { @@ -97,8 +97,8 @@ public class DruidNativeJdbcExtractor implements NativeJdbcExtractor { @Override public ResultSet getNativeResultSet(ResultSet rs) throws SQLException { - if (rs instanceof PoolableResultSet) { - rs = ((PoolableResultSet) rs).getRawResultSet(); + if (rs instanceof DruidPooledResultSet) { + rs = ((DruidPooledResultSet) rs).getRawResultSet(); } if (rs instanceof ResultSetProxy) { diff --git a/src/main/java/com/alibaba/druid/util/OracleUtils.java b/src/main/java/com/alibaba/druid/util/OracleUtils.java index 3a9b47fdab..981d133f75 100644 --- a/src/main/java/com/alibaba/druid/util/OracleUtils.java +++ b/src/main/java/com/alibaba/druid/util/OracleUtils.java @@ -11,11 +11,11 @@ import oracle.jdbc.OracleStatement; import oracle.jdbc.internal.OraclePreparedStatement; import oracle.sql.ROWID; -import com.alibaba.druid.pool.PoolablePreparedStatement; +import com.alibaba.druid.pool.DruidPooledPreparedStatement; public class OracleUtils { - public static void clearDefines(PoolablePreparedStatement stmt) throws SQLException { + public static void clearDefines(DruidPooledPreparedStatement stmt) throws SQLException { OracleStatement oracleStmt = stmt.unwrap(OracleStatement.class); oracleStmt.clearDefines(); } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestDruidDataSource.java b/src/test/java/com/alibaba/druid/bvt/pool/TestDruidDataSource.java index 3eb1562b21..0310dc6fd4 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestDruidDataSource.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestDruidDataSource.java @@ -21,7 +21,7 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.stat.DruidDataSourceStatManager; public class TestDruidDataSource extends TestCase { @@ -51,7 +51,7 @@ public class TestDruidDataSource extends TestCase { Connection conn = dataSource.getConnection(); - Assert.assertTrue(conn instanceof PoolableConnection); + Assert.assertTrue(conn instanceof DruidPooledConnection); Assert.assertEquals(1, dataSource.getConnectCount()); Assert.assertEquals(0, dataSource.getConnectErrorCount()); diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java index 7edad1f731..7ab64ba789 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java @@ -9,7 +9,7 @@ import junit.framework.TestCase; import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.stat.DruidDataSourceStatManager; public class TestPoolPreparedStatement2 extends TestCase { @@ -80,7 +80,7 @@ public class TestPoolPreparedStatement2 extends TestCase { } Connection conn = dataSource.getConnection(); - PoolableConnection poolableConn = conn.unwrap(PoolableConnection.class); + DruidPooledConnection poolableConn = conn.unwrap(DruidPooledConnection.class); Assert.assertNotNull(poolableConn); Assert.assertEquals(dataSource.getMaxPoolPreparedStatementPerConnectionSize(), diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest3.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest3.java index fff9c6cc67..853b9b6df3 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest3.java @@ -9,7 +9,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.stat.DruidDataSourceStatManager; import com.alibaba.druid.stat.JdbcStatContext; import com.alibaba.druid.stat.JdbcStatManager; @@ -51,7 +51,7 @@ public class ConnectionTest3 extends TestCase { } public void test_basic() throws Exception { - PoolableConnection conn = (PoolableConnection) dataSource.getConnection(); + DruidPooledConnection conn = (DruidPooledConnection) dataSource.getConnection(); conn.getTransactionInfo(); conn.getMetaData(); diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest4.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest4.java index 2635bec5a1..026e6c96e1 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest4.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest4.java @@ -13,7 +13,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.stat.DruidDataSourceStatManager; import com.alibaba.druid.stat.JdbcStatContext; import com.alibaba.druid.stat.JdbcStatManager; @@ -56,14 +56,14 @@ public class ConnectionTest4 extends TestCase { } public void test_basic() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); Assert.assertEquals(null, conn.unwrap(Date.class)); Assert.assertEquals(null, conn.unwrap(null)); Assert.assertEquals(conn, conn.unwrap(Connection.class)); Assert.assertEquals(false, conn.isWrapperFor(null)); - Assert.assertEquals(true, conn.isWrapperFor(PoolableConnection.class)); + Assert.assertEquals(true, conn.isWrapperFor(DruidPooledConnection.class)); Assert.assertEquals(true, conn.isWrapperFor(Connection.class)); Assert.assertEquals("SELECT 1", conn.nativeSQL("SELECT 1")); @@ -75,7 +75,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); @@ -93,7 +93,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); @@ -111,7 +111,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error3() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); @@ -130,7 +130,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error4() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); { SQLException error = null; @@ -147,7 +147,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error5() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); { SQLException error = null; @@ -163,7 +163,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error6() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -180,7 +180,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error7() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -197,7 +197,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_error8() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -214,7 +214,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -234,7 +234,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -256,7 +256,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -274,7 +274,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_3() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -292,7 +292,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepareStatement_4() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -310,7 +310,7 @@ public class ConnectionTest4 extends TestCase { } public void test_preCall_error() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -328,7 +328,7 @@ public class ConnectionTest4 extends TestCase { } public void test_preCall_error_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -345,7 +345,7 @@ public class ConnectionTest4 extends TestCase { } public void test_preCall_error_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -362,7 +362,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepCall() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -382,7 +382,7 @@ public class ConnectionTest4 extends TestCase { } public void test_prepCall_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); MockPreparedStatement raw = null; { @@ -408,7 +408,7 @@ public class ConnectionTest4 extends TestCase { } public void test_create() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -425,7 +425,7 @@ public class ConnectionTest4 extends TestCase { } public void test_create_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -443,7 +443,7 @@ public class ConnectionTest4 extends TestCase { } public void test_create_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -460,7 +460,7 @@ public class ConnectionTest4 extends TestCase { } public void test_setAutoCommit() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getAutoCommit(); conn.setAutoCommit(true); @@ -479,7 +479,7 @@ public class ConnectionTest4 extends TestCase { } public void test_commit() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -496,7 +496,7 @@ public class ConnectionTest4 extends TestCase { } public void test_rollback() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.setAutoCommit(false); Statement stmt = conn.createStatement(); @@ -517,7 +517,7 @@ public class ConnectionTest4 extends TestCase { } public void test_rollback_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -534,7 +534,7 @@ public class ConnectionTest4 extends TestCase { } public void test_releaseSavepoint_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -551,7 +551,7 @@ public class ConnectionTest4 extends TestCase { } public void test_addListenerError() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { @@ -566,7 +566,7 @@ public class ConnectionTest4 extends TestCase { } public void test_addListenerError2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { @@ -581,7 +581,7 @@ public class ConnectionTest4 extends TestCase { } public void test_removeConnectionEventListener() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { @@ -596,7 +596,7 @@ public class ConnectionTest4 extends TestCase { } public void test_removeStatementEventListener() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { @@ -611,7 +611,7 @@ public class ConnectionTest4 extends TestCase { } public void test_checkOpen_error() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest5.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest5.java index abc7d0fd32..c42acd7947 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/ConnectionTest5.java @@ -11,7 +11,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.stat.DruidDataSourceStatManager; import com.alibaba.druid.stat.JdbcStatContext; import com.alibaba.druid.stat.JdbcStatManager; @@ -54,7 +54,7 @@ public class ConnectionTest5 extends TestCase { } public void test_basic() throws Exception { - PoolableConnection conn = (PoolableConnection) dataSource.getConnection(); + DruidPooledConnection conn = (DruidPooledConnection) dataSource.getConnection(); conn.close(); Assert.assertEquals(true, dataSource.isResetStatEnable()); @@ -71,7 +71,7 @@ public class ConnectionTest5 extends TestCase { } public void test_handleException() throws Exception { - PoolableConnection conn = (PoolableConnection) dataSource.getConnection(); + DruidPooledConnection conn = (DruidPooledConnection) dataSource.getConnection(); conn.close(); SQLException error = new SQLException(); @@ -83,7 +83,7 @@ public class ConnectionTest5 extends TestCase { } public void test_handleException_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -100,7 +100,7 @@ public class ConnectionTest5 extends TestCase { } public void test_handleException_3() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -117,7 +117,7 @@ public class ConnectionTest5 extends TestCase { } public void test_handleException_4() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); { @@ -134,7 +134,7 @@ public class ConnectionTest5 extends TestCase { } public void test_handleException_5() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.addConnectionEventListener(new ConnectionEventListener() { @Override @@ -163,7 +163,7 @@ public class ConnectionTest5 extends TestCase { } public void test_setClientInfo() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { @@ -179,7 +179,7 @@ public class ConnectionTest5 extends TestCase { } public void test_setClientInfo_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/DataSourceTest3.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/DataSourceTest3.java index bf5c007995..2513bb6daa 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/DataSourceTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/DataSourceTest3.java @@ -11,7 +11,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.vendor.MySqlValidConnectionChecker; import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.stat.DruidDataSourceStatManager; @@ -56,7 +56,7 @@ public class DataSourceTest3 extends TestCase { } public void test_prepareStatement_error() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -72,7 +72,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_1() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -80,7 +80,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -96,7 +96,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_3() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -112,7 +112,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_4() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -128,7 +128,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_5() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -144,7 +144,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_6() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -160,7 +160,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_7() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -176,7 +176,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_8() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -192,7 +192,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_9() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -208,7 +208,7 @@ public class DataSourceTest3 extends TestCase { } public void test_getValidConnectionCheckerClassName() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -216,7 +216,7 @@ public class DataSourceTest3 extends TestCase { } public void test_setConnectionInitSqls() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -228,14 +228,14 @@ public class DataSourceTest3 extends TestCase { dataSource.setLogWriter(null); dataSource.getLogWriter(); - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); } public void test_error_10() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -251,7 +251,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_11() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -303,7 +303,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_12() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -329,7 +329,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_validateConnection() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.close(); @@ -345,7 +345,7 @@ public class DataSourceTest3 extends TestCase { } public void test_error_validateConnection_2() throws Exception { - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); conn.getConnection().close(); @@ -363,7 +363,7 @@ public class DataSourceTest3 extends TestCase { public void test_error_validateConnection_3() throws Exception { dataSource.setValidationQuery(null); dataSource.setValidConnectionChecker(new MySqlValidConnectionChecker()); - PoolableConnection conn = dataSource.getConnection().unwrap(PoolableConnection.class); + DruidPooledConnection conn = dataSource.getConnection().unwrap(DruidPooledConnection.class); dataSource.validateConnection(conn); } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableCallableStatementTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableCallableStatementTest.java index 00b9f59a3d..2c03660bc2 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableCallableStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableCallableStatementTest.java @@ -17,18 +17,18 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.mock.MockCallableStatement; -import com.alibaba.druid.pool.PoolableCallableStatement; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledCallableStatement; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; import com.alibaba.druid.pool.PreparedStatementHolder; public class PoolableCallableStatementTest extends TestCase { protected MockCallableStatement raw; - protected PoolableCallableStatement stmt; + protected DruidPooledCallableStatement stmt; protected void setUp() throws Exception { raw = new MockCallableStatement(null, null); - stmt = new PoolableCallableStatement(null, + stmt = new DruidPooledCallableStatement(null, new PreparedStatementHolder(new PreparedStatementKey("", null, null, 0, 0, 0), raw)) { protected SQLException checkException(Throwable error) throws SQLException { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java index e5f097bdd8..cb7e76c37f 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java @@ -13,18 +13,18 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.mock.MockPreparedStatement; -import com.alibaba.druid.pool.PoolablePreparedStatement; +import com.alibaba.druid.pool.DruidPooledPreparedStatement; import com.alibaba.druid.pool.PreparedStatementHolder; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; public class PoolablePreparedStatementTest extends TestCase { protected MockPreparedStatement raw; - protected PoolablePreparedStatement stmt; + protected DruidPooledPreparedStatement stmt; protected void setUp() throws Exception { raw = new MockPreparedStatement(null, null); - stmt = new PoolablePreparedStatement(null, + stmt = new DruidPooledPreparedStatement(null, new PreparedStatementHolder(new PreparedStatementKey("", null, null, 0, 0, 0), raw)) { protected SQLException checkException(Throwable error) throws SQLException { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java index 4e5657bb2b..977f46b22a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java @@ -9,16 +9,16 @@ import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.druid.mock.MockStatement; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledStatement; public class PoolableStatementTest extends TestCase { protected Statement raw; - protected PoolableStatement stmt; + protected DruidPooledStatement stmt; protected void setUp() throws Exception { raw = new MockStatement(null); - stmt = new PoolableStatement(null, raw) { + stmt = new DruidPooledStatement(null, raw) { protected SQLException checkException(Throwable error) throws SQLException { if (error instanceof SQLException) { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest2.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest2.java index ec2c366ace..df6da9a62a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest2.java @@ -12,7 +12,7 @@ import org.junit.Assert; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledStatement; import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.stat.DruidDataSourceStatManager; import com.alibaba.druid.stat.JdbcStatContext; @@ -80,7 +80,7 @@ public class PoolableStatementTest2 extends TestCase { Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -100,7 +100,7 @@ public class PoolableStatementTest2 extends TestCase { Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -120,7 +120,7 @@ public class PoolableStatementTest2 extends TestCase { Connection conn = dataSource.getConnection(); Statement stmt = conn.createStatement(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -141,7 +141,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.setEscapeProcessing(true); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -164,7 +164,7 @@ public class PoolableStatementTest2 extends TestCase { stmt.setMaxFieldSize(23); Assert.assertEquals(23, stmt.getMaxFieldSize()); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -197,7 +197,7 @@ public class PoolableStatementTest2 extends TestCase { stmt.setQueryTimeout(33); Assert.assertEquals(33, stmt.getQueryTimeout()); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -230,7 +230,7 @@ public class PoolableStatementTest2 extends TestCase { stmt.setMaxRows(44); Assert.assertEquals(44, stmt.getMaxRows()); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -263,7 +263,7 @@ public class PoolableStatementTest2 extends TestCase { stmt.setFetchDirection(144); Assert.assertEquals(144, stmt.getFetchDirection()); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -296,7 +296,7 @@ public class PoolableStatementTest2 extends TestCase { stmt.setFetchSize(144); Assert.assertEquals(144, stmt.getFetchSize()); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -327,7 +327,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.cancel(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -348,7 +348,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getWarnings(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -369,7 +369,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.clearWarnings(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -390,7 +390,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.setCursorName("c_name"); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -411,7 +411,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getResultSet(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -432,7 +432,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getUpdateCount(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -453,7 +453,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getMoreResults(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -474,7 +474,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getResultSetConcurrency(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -495,7 +495,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getResultSetType(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -516,7 +516,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.addBatch("select 1"); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -537,7 +537,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.clearBatch(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -558,7 +558,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeBatch(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -579,7 +579,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getMoreResults(1); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -600,7 +600,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getGeneratedKeys(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -621,7 +621,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.getResultSetHoldability(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -642,7 +642,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.execute("SELECT 1", new String[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -663,7 +663,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.execute("SELECT 1", new int[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -684,7 +684,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.execute("SELECT 1", Statement.NO_GENERATED_KEYS); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -705,7 +705,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SELECT 1", new String[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -726,7 +726,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SELECT 1", new int[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -747,7 +747,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SELECT 1", Statement.NO_GENERATED_KEYS); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -768,7 +768,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.getMetaData(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -789,7 +789,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.getParameterMetaData(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -810,7 +810,7 @@ public class PoolableStatementTest2 extends TestCase { CallableStatement stmt = conn.prepareCall("SELELCT 1"); stmt.wasNull(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -831,7 +831,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.executeQuery(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -852,7 +852,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.executeQuery(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -873,7 +873,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.execute(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -894,7 +894,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.clearParameters(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -915,7 +915,7 @@ public class PoolableStatementTest2 extends TestCase { PreparedStatement stmt = conn.prepareStatement("SELELCT 1"); stmt.addBatch(); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -936,7 +936,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SET 1", Statement.RETURN_GENERATED_KEYS); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -957,7 +957,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SET 1", new String[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; @@ -978,7 +978,7 @@ public class PoolableStatementTest2 extends TestCase { Statement stmt = conn.createStatement(); stmt.executeUpdate("SET 1", new int[0]); - ((PoolableStatement) stmt).getStatement().close(); + ((DruidPooledStatement) stmt).getStatement().close(); { SQLException error = null; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest3.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest3.java index 7e803ad8b1..cf5f2da896 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest3.java @@ -5,7 +5,7 @@ import java.sql.SQLException; import junit.framework.TestCase; import com.alibaba.druid.mock.MockResultSet; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledStatement; public class PoolableStatementTest3 extends TestCase { @@ -17,7 +17,7 @@ public class PoolableStatementTest3 extends TestCase { } }; - PoolableStatement stmt = new PoolableStatement(null, null) { + DruidPooledStatement stmt = new DruidPooledStatement(null, null) { public void close() throws SQLException { resultSetTrace.add(rs); diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PreparedStatementKeyTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PreparedStatementKeyTest.java index d62017251f..4c506c90d1 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PreparedStatementKeyTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PreparedStatementKeyTest.java @@ -8,7 +8,7 @@ import com.alibaba.druid.mock.MockConnection; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.ConnectionHolder; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolablePreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; import com.alibaba.druid.pool.PreparedStatementHolder; import com.alibaba.druid.pool.PreparedStatementPool; import com.alibaba.druid.pool.PreparedStatementPool.MethodType; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest.java index fcf6f9924f..d9fba4aa97 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest.java @@ -15,17 +15,17 @@ import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.druid.mock.MockResultSet; -import com.alibaba.druid.pool.PoolableResultSet; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledResultSet; +import com.alibaba.druid.pool.DruidPooledStatement; public class ResultSetTest extends TestCase { - private PoolableStatement stmt; + private DruidPooledStatement stmt; private MockResultSet raw; - private PoolableResultSet resultSet; + private DruidPooledResultSet resultSet; protected void setUp() throws Exception { - stmt = new PoolableStatement(null, null) { + stmt = new DruidPooledStatement(null, null) { protected SQLException checkException(Throwable error) throws SQLException { if (error instanceof SQLException) { @@ -38,7 +38,7 @@ public class ResultSetTest extends TestCase { raw = new MockResultSet(null); raw.getRows().add(new Object[] { null }); - resultSet = new PoolableResultSet(stmt, raw); + resultSet = new DruidPooledResultSet(stmt, raw); } @SuppressWarnings("deprecation") diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest2.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest2.java index 82cfb5a72c..f750465fcf 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/ResultSetTest2.java @@ -8,17 +8,17 @@ import junit.framework.TestCase; import org.junit.Assert; import com.alibaba.druid.mock.MockResultSet; -import com.alibaba.druid.pool.PoolableResultSet; -import com.alibaba.druid.pool.PoolableStatement; +import com.alibaba.druid.pool.DruidPooledResultSet; +import com.alibaba.druid.pool.DruidPooledStatement; public class ResultSetTest2 extends TestCase { - private PoolableStatement stmt; + private DruidPooledStatement stmt; private MockResultSet raw; - private PoolableResultSet resultSet; + private DruidPooledResultSet resultSet; protected void setUp() throws Exception { - stmt = new PoolableStatement(null, null) { + stmt = new DruidPooledStatement(null, null) { protected SQLException checkException(Throwable error) throws SQLException { if (error instanceof SQLException) { @@ -31,7 +31,7 @@ public class ResultSetTest2 extends TestCase { raw = new MockResultSet(null); raw.getRows().add(new Object[] { null }); - resultSet = new PoolableResultSet(stmt, raw); + resultSet = new DruidPooledResultSet(stmt, raw); } public void test_rowDeleted() throws Exception { @@ -615,7 +615,7 @@ public class ResultSetTest2 extends TestCase { } }; - PoolableResultSet rs = new PoolableResultSet(stmt, mock); + DruidPooledResultSet rs = new DruidPooledResultSet(stmt, mock); SQLException error = null; try { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java index 45f4a87acc..209465a2e8 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java @@ -8,7 +8,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.stat.DruidDataSourceStatManager; @@ -48,8 +48,8 @@ public class TestCommit extends TestCase { Connection conn = dataSource.getConnection(); { - PoolableConnection wrap = conn.unwrap(PoolableConnection.class); - Assert.assertTrue(conn.isWrapperFor(PoolableConnection.class)); + DruidPooledConnection wrap = conn.unwrap(DruidPooledConnection.class); + Assert.assertTrue(conn.isWrapperFor(DruidPooledConnection.class)); Assert.assertNotNull(wrap); } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java index be44058997..3da73f74df 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestDataSourceBasic.java @@ -11,7 +11,7 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.PoolableConnection; +import com.alibaba.druid.pool.DruidPooledConnection; import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.stat.DruidDataSourceStatManager; @@ -64,8 +64,8 @@ public class TestDataSourceBasic extends TestCase { Connection conn = dataSource.getConnection(); { - PoolableConnection wrap = conn.unwrap(PoolableConnection.class); - Assert.assertTrue(conn.isWrapperFor(PoolableConnection.class)); + DruidPooledConnection wrap = conn.unwrap(DruidPooledConnection.class); + Assert.assertTrue(conn.isWrapperFor(DruidPooledConnection.class)); Assert.assertNotNull(wrap); } diff --git a/src/test/java/com/alibaba/druid/pool/benckmark/Oracle_Case4.java b/src/test/java/com/alibaba/druid/pool/benckmark/Oracle_Case4.java index ca6696c010..fe51d1bc8f 100644 --- a/src/test/java/com/alibaba/druid/pool/benckmark/Oracle_Case4.java +++ b/src/test/java/com/alibaba/druid/pool/benckmark/Oracle_Case4.java @@ -31,7 +31,7 @@ public class Oracle_Case4 extends TestCase { private String validationQuery = "SELECT 1 FROM DUAL"; private int threadCount = 1; private int loopCount = 3; - final int LOOP_COUNT = 1000 * 10; + final int LOOP_COUNT = 1000 * 1000; private boolean testOnBorrow = false; private boolean preparedStatementCache = true; private int preparedStatementCacheSize = 50; @@ -68,6 +68,7 @@ public class Oracle_Case4 extends TestCase { dataSource.setValidationQuery(validationQuery); dataSource.setTestOnBorrow(testOnBorrow); dataSource.setConnectionProperties(properties); + dataSource.setUseOracleImplicitCache(false); // printAV_INFO(dataSource); // printTables(dataSource); @@ -154,7 +155,7 @@ public class Oracle_Case4 extends TestCase { int mod = i % 500; - String sql = SQL;// + " AND ROWNUM <= " + (mod + 1); + String sql = SQL; // + " AND ROWNUM <= " + (mod + 1); PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, 61); ResultSet rs = stmt.executeQuery();