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
+ }
}
}