Fix NPE that can happen during concurrency (connection being abandoned, misconfigurat...
authorfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 31 Mar 2011 21:20:30 +0000 (21:20 +0000)
committerfhanik <fhanik@13f79535-47bb-0310-9956-ffa450edef68>
Thu, 31 Mar 2011 21:20:30 +0000 (21:20 +0000)
http://markmail.org/message/yhshyvyunddb5ngt

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1087442 13f79535-47bb-0310-9956-ffa450edef68

modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/ProxyConnection.java

index 532cb6a..76d17e3 100644 (file)
@@ -122,7 +122,12 @@ public class ProxyConnection extends JdbcInterceptor {
             return this.isWrapperFor((Class<?>)args[0]);
         }
         try {
-            return method.invoke(connection.getConnection(),args);
+            PooledConnection poolc = connection;
+            if (poolc!=null) {
+                return method.invoke(poolc.getConnection(),args);    
+            } else {
+                throw new SQLException("Connection has already been closed.");
+            }
         }catch (Throwable t) {
             if (t instanceof InvocationTargetException) {
                 InvocationTargetException it = (InvocationTargetException)t;