From 30bb401ad9ecbac89eb6f46e8f387c152e23e3aa Mon Sep 17 00:00:00 2001 From: wenshao Date: Sat, 8 Oct 2011 09:28:50 +0000 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E8=BF=90=E8=A1=8C=E6=97=B6?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E8=83=BD=E5=8A=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@927 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../alibaba/druid/pool/DruidDataSource.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java index b95fbbb891..dc03bcf67e 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidDataSource.java @@ -136,6 +136,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat activePeak = 0; activePeakTime = 0; poolingPeak = 0; + createTimespan = 0; } finally { lock.unlock(); } @@ -164,6 +165,22 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat } } + public void setPoolPreparedStatements(boolean value) { + lock.lock(); + try { + if (this.poolPreparedStatements && (!value)) { + for (int i = 0; i < poolingCount; ++i) { + ConnectionHolder connection = connections[i]; + + connection.getStatementPool().getMap().clear(); + } + } + super.setPoolPreparedStatements(value); + } finally { + lock.unlock(); + } + } + public boolean isInited() { return this.inited; } @@ -1150,13 +1167,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat buf.append("\n\t{\n\tID:"); buf.append(System.identityHashCode(conn.getConnection())); PreparedStatementPool pool = conn.getStatementPool(); - + if (pool != null) { buf.append(", \n\tpoolStatements:["); - + int entryIndex = 0; for (Map.Entry entry : pool.getMap().entrySet()) { - if (entryIndex ++ != 0) { + if (entryIndex++ != 0) { buf.append(","); } buf.append("\n\t\t{reuseCount:"); @@ -1166,10 +1183,10 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat buf.append("\""); buf.append("\t}"); } - + buf.append("\n\t\t]"); } - + buf.append("\n\t}"); } } @@ -1196,6 +1213,6 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat @Override public String getVersion() { - return VERSION.MajorVersion + "." + VERSION.MinorVersion + "." + VERSION.RevisionVersion + "-2011-09-28 22:44"; + return VERSION.MajorVersion + "." + VERSION.MinorVersion + "." + VERSION.RevisionVersion + "-2011-10-08 17:28"; } }