From bd3f2ebb92a7860d96a76a79685998b25658385b Mon Sep 17 00:00:00 2001 From: wenshao Date: Fri, 29 Jun 2012 14:48:38 +0800 Subject: [PATCH] bug fixed for FilterChainImpl --- .../java/com/alibaba/druid/filter/FilterChainImpl.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java b/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java index 522cf5f7c8..212741c1c9 100644 --- a/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java +++ b/src/main/java/com/alibaba/druid/filter/FilterChainImpl.java @@ -4394,11 +4394,21 @@ public class FilterChainImpl implements FilterChain { @Override public void dataSource_recycle(DruidPooledConnection connection) throws SQLException { + if (this.pos < filterSize) { + nextFilter().dataSource_recycle(this, connection); + return; + } + connection.recycle(); } @Override public DruidPooledConnection dataSource_connect(DruidDataSource dataSource, long maxWaitMillis) throws SQLException { + if (this.pos < filterSize) { + DruidPooledConnection conn = nextFilter().dataSource_connect(this, dataSource, maxWaitMillis); + return conn; + } + return dataSource.getConnectionDirect(maxWaitMillis); }