support clearStatementCache

This commit is contained in:
wenshao
2011-12-29 21:00:29 +08:00
parent ddfbf2b846
commit c54590db4a
5 changed files with 81 additions and 45 deletions
@@ -17,6 +17,7 @@ package com.alibaba.druid.pool;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Map.Entry;
@@ -74,6 +75,19 @@ public class PreparedStatementPool {
}
}
}
public void clear() {
Iterator<Entry<PreparedStatementKey, PreparedStatementHolder>> iter = map.entrySet().iterator();
while (iter.hasNext()) {
Entry<PreparedStatementKey, PreparedStatementHolder> entry = iter.next();
dataSource.closePreapredStatement(entry.getValue());
dataSource.decrementCachedPreparedStatementCount();
dataSource.incrementCachedPreparedStatementDeleteCount();
iter.remove();
}
}
public Map<PreparedStatementKey, PreparedStatementHolder> getMap() {
return map;