Author: boisvert
Date: Fri Aug  7 18:31:07 2009
New Revision: 802135

URL: http://svn.apache.org/viewvc?rev=802135&view=rev
Log:
ODE-645: Possible connection leak during JdbcExternalVariableModule if 
initialization fails

Modified:
    
ode/trunk/engine/src/main/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableModule.java

Modified: 
ode/trunk/engine/src/main/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableModule.java
URL: 
http://svn.apache.org/viewvc/ode/trunk/engine/src/main/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableModule.java?rev=802135&r1=802134&r2=802135&view=diff
==============================================================================
--- 
ode/trunk/engine/src/main/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableModule.java
 (original)
+++ 
ode/trunk/engine/src/main/java/org/apache/ode/bpel/extvar/jdbc/JdbcExternalVariableModule.java
 Fri Aug  7 18:31:07 2009
@@ -111,6 +111,11 @@
             conn = ds.getConnection();
             metaData = conn.getMetaData();
         } catch (Exception ex) {
+            try {
+                conn.close();
+            } catch (SQLException e) {
+                // ignore
+            }
             throw new ExternalVariableModuleException("Unable to open database 
connection for external variable " + evarId, ex);
         }
 
@@ -343,7 +348,11 @@
             return stmt.executeUpdate();
         } finally {
             if (stmt != null) stmt.close();
-            conn.close();
+            try {
+                conn.close();
+            } catch (SQLException e) {
+                // ignore
+            }
         }
     }
 
@@ -394,7 +403,11 @@
             }
         } finally {
             if (stmt != null) stmt.close();
-            conn.close();
+            try {
+                conn.close();
+            } catch (SQLException e) {
+                // ignore
+            }
         }
 
         return ret;
@@ -454,7 +467,11 @@
             return keys;
         } finally {
             if (stmt != null) stmt.close();
-            conn.close();
+            try {
+                conn.close();
+            } catch (SQLException e) {
+                // ignore
+            }
         }
     }
 


Reply via email to