From 8f0e7ed7ac88b623238cfb29a800934241f04eb2 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 14 Jul 2011 07:49:59 +0000 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=8D=E5=A4=8D=E5=85=B3?= =?UTF-8?q?=E9=97=ADstatement=E6=97=B6=E7=9A=84=E9=97=AE=E9=A2=98?= 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@435 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../com/alibaba/druid/pool/PoolableStatement.java | 12 ++++++------ src/test/java/com/alibaba/druid/bvt/pool/Case3.java | 3 +++ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java b/src/main/java/com/alibaba/druid/pool/PoolableStatement.java index 5de54918d2..b5140b26ed 100644 --- a/src/main/java/com/alibaba/druid/pool/PoolableStatement.java +++ b/src/main/java/com/alibaba/druid/pool/PoolableStatement.java @@ -93,12 +93,12 @@ public class PoolableStatement extends PoolableWrapper implements Statement { @Override public void close() throws SQLException { - clearResultSet(); - - stmt.close(); - this.closed = true; - - conn.getConnectionHolder().removeTrace(this); + if (!this.closed) { + clearResultSet(); + stmt.close(); + this.closed = true; + conn.getConnectionHolder().removeTrace(this); + } } @Override diff --git a/src/test/java/com/alibaba/druid/bvt/pool/Case3.java b/src/test/java/com/alibaba/druid/bvt/pool/Case3.java index 8a110234af..c1ad100a9a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/Case3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/Case3.java @@ -31,6 +31,9 @@ public class Case3 extends TestCase { Assert.assertEquals(true, stmt.isClosed()); Assert.assertEquals(true, rs.isClosed()); + + rs.close(); + stmt.close(); dataSource.close(); }