You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by jl...@apache.org on 2016/12/03 16:56:10 UTC

[16/50] tomee git commit: https://issues.apache.org/jira/browse/TOMEE-1860 _closed state must be set and null check is required in isClose

https://issues.apache.org/jira/browse/TOMEE-1860
_closed state must be set and null check is required in isClose


Project: http://git-wip-us.apache.org/repos/asf/tomee/repo
Commit: http://git-wip-us.apache.org/repos/asf/tomee/commit/f7c17bf4
Tree: http://git-wip-us.apache.org/repos/asf/tomee/tree/f7c17bf4
Diff: http://git-wip-us.apache.org/repos/asf/tomee/diff/f7c17bf4

Branch: refs/heads/tomee-1.7.x
Commit: f7c17bf481ac899e4f6ec60dbe5e99613850a1bb
Parents: f551950
Author: AndyGee <an...@gmx.de>
Authored: Mon Jul 11 23:53:17 2016 +0200
Committer: AndyGee <an...@gmx.de>
Committed: Mon Jul 11 23:53:17 2016 +0200

----------------------------------------------------------------------
 .../resource/jdbc/dbcp/BasicManagedDataSource.java  | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tomee/blob/f7c17bf4/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
----------------------------------------------------------------------
diff --git a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
index 841e898..c9454c1 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/resource/jdbc/dbcp/BasicManagedDataSource.java
@@ -98,10 +98,20 @@ public class BasicManagedDataSource extends org.apache.commons.dbcp.managed.Basi
                 return new ManagedConnection(connectionPool, transactionRegistry, isAccessToUnderlyingConnectionAllowed()) {
                     @Override
                     public void close() throws SQLException {
-                        if (getDelegateInternal() == null) {
-                            return;
+                        if (!_closed) {
+                            try {
+                                if (null != getDelegateInternal()) {
+                                    super.close();
+                                }
+                            } finally {
+                                _closed = true;
+                            }
                         }
-                        super.close();
+                    }
+
+                    @Override
+                    public boolean isClosed() throws SQLException {
+                        return _closed || null != _conn && _conn.isClosed();
                     }
                 };
             }