From cfbb429f94888e45231252855540f39e84456ff3 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 25 Nov 2012 15:28:28 +0800 Subject: [PATCH] bug fixed closed Statement execute throw NPE --- .../druid/pool/DruidPooledStatement.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java index b5fa0f6e7f..def0d775df 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java +++ b/src/main/java/com/alibaba/druid/pool/DruidPooledStatement.java @@ -90,7 +90,22 @@ public class DruidPooledStatement extends PoolableWrapper implements Statement { } public void incrementExecuteCount() { - this.getPoolableConnection().getConnectionHolder().getDataSource().incrementExecuteCount(); + DruidPooledConnection conn = this.getPoolableConnection(); + + if (conn == null) { + return; + } + + DruidConnectionHolder holder = conn.getConnectionHolder(); + if (holder == null) { + return; + } + + if (holder.getDataSource() == null) { + return; + } + + holder.getDataSource().incrementExecuteCount(); } protected void transactionRecord(String sql) throws SQLException {