bug fixed

This commit is contained in:
wenshao
2013-04-29 01:58:20 +08:00
parent de80373003
commit 4a7ae77e0d
14 changed files with 573 additions and 139 deletions
@@ -30,14 +30,14 @@ import com.alibaba.druid.support.logging.Log;
import com.alibaba.druid.support.logging.LogFactory;
import com.alibaba.druid.util.IOUtils;
import com.alibaba.druid.util.JdbcConstants;
import com.alibaba.druid.util.JdbcUtils;
/**
* @author wenshao<szujobs@hotmail.com>
*/
public final class DruidConnectionHolder {
private final static Log LOG = LogFactory.getLog(DruidConnectionHolder.class);
private final static Log LOG = LogFactory.getLog(DruidConnectionHolder.class);
private final DruidAbstractDataSource dataSource;
private final Connection conn;
private final List<ConnectionEventListener> connectionEventListeners = new CopyOnWriteArrayList<ConnectionEventListener>();
@@ -60,6 +60,7 @@ public final class DruidConnectionHolder {
private int underlyingHoldability;
private int underlyingTransactionIsolation;
private boolean underlyingAutoCommit;
private boolean discard = false;
public DruidConnectionHolder(DruidAbstractDataSource dataSource, Connection conn) throws SQLException{
@@ -167,6 +168,17 @@ public final class DruidConnectionHolder {
return statementPool;
}
public PreparedStatementPool getStatementPoolDirect() {
return statementPool;
}
public void clearStatementCache() {
if (this.statementPool == null) {
return;
}
this.statementPool.clear();
}
public DruidAbstractDataSource getDataSource() {
return dataSource;
}
@@ -218,13 +230,21 @@ public final class DruidConnectionHolder {
for (Object item : statementTrace.toArray()) {
Statement stmt = (Statement) item;
JdbcUtils.close(stmt);
stmt.close();
}
statementTrace.clear();
conn.clearWarnings();
}
public boolean isDiscard() {
return discard;
}
public void setDiscard(boolean discard) {
this.discard = discard;
}
public String toString() {
StringBuilder buf = new StringBuilder();