修正DruidDataSource的BUG

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@190 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-05-22 14:23:41 +00:00
parent fe1c3d1d03
commit ca206d47bd
3 changed files with 37 additions and 20 deletions
@@ -34,7 +34,8 @@ public final class ConnectionHolder {
private final Connection conn;
private final List<ConnectionEventListener> connectionEventListeners = new CopyOnWriteArrayList<ConnectionEventListener>();
private final List<StatementEventListener> statementEventListeners = new CopyOnWriteArrayList<StatementEventListener>();
private final long timeMillis = System.currentTimeMillis();
private final long connecttimeMillis;
private long lastActiveMillis;
private long useCount = 0;
private final boolean poolPreparedStatements;
@@ -46,6 +47,8 @@ public final class ConnectionHolder {
this.dataSource = dataSource;
this.conn = conn;
this.poolPreparedStatements = dataSource.isPoolPreparedStatements();
this.connecttimeMillis = System.currentTimeMillis();
this.lastActiveMillis = connecttimeMillis;
if (this.poolPreparedStatements) {
statementPool = new PreparedStatementPool();
@@ -54,6 +57,14 @@ public final class ConnectionHolder {
}
}
public long getLastActiveMillis() {
return lastActiveMillis;
}
public void setLastActiveMillis(long lastActiveMillis) {
this.lastActiveMillis = lastActiveMillis;
}
public void addTrace(PoolableStatement stmt) {
statementTrace.add(stmt);
}
@@ -87,7 +98,7 @@ public final class ConnectionHolder {
}
public long getTimeMillis() {
return timeMillis;
return connecttimeMillis;
}
public long getUseCount() {