修正未关闭statement先关闭connection时的bug

git-svn-id: http://code.alibabatech.com/svn/druid/trunk@433 b9813039-fb51-4c41-a8b9-e21c2acb5095
This commit is contained in:
wenshao
2011-07-14 07:47:24 +00:00
parent 60018562c3
commit 499a0f490e
4 changed files with 160 additions and 12 deletions
@@ -431,8 +431,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
public void close() {
lock.lock();
try {
createConnectionThread.interrupt();
destoryConnectionThread.interrupt();
if (createConnectionThread != null) {
createConnectionThread.interrupt();
}
if (destoryConnectionThread != null) {
destoryConnectionThread.interrupt();
}
for (int i = 0; i < count; ++i) {
try {
@@ -502,12 +507,12 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
connections[lastIndex] = null;
count--;
// if (count <= minIdle - 1) {
// lowWater.signal();
// }
// if (count == 0) {
// lowWater.signal();
// }
// if (count <= minIdle - 1) {
// lowWater.signal();
// }
// if (count == 0) {
// lowWater.signal();
// }
return last;
}
@@ -547,9 +552,9 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
connections[lastIndex] = null;
count--;
// if (lastIndex == minIdle - 1) {
// lowWater.signal();
// }
// if (lastIndex == minIdle - 1) {
// lowWater.signal();
// }
if (count == 0) {
lowWater.signal();
}