You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ma...@apache.org on 2009/09/10 13:07:20 UTC
svn commit: r813365 - in
/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core:
data/db/DbDataStore.java util/db/DbUtility.java
Author: martijnh
Date: Thu Sep 10 11:07:20 2009
New Revision: 813365
URL: http://svn.apache.org/viewvc?rev=813365&view=rev
Log:
JCR 1456 Database connection pooling
* Prevent closing database resources twice.
Modified:
jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java
jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/DbUtility.java
Modified: jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java?rev=813365&r1=813364&r2=813365&view=diff
==============================================================================
--- jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java (original)
+++ jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/data/db/DbDataStore.java Thu Sep 10 11:07:20 2009
@@ -357,6 +357,7 @@
int count = conHelper.update(updateSQL, new Object[]{
id, new Long(length), new Long(now),
tempId, id});
+ rs = null; // prevent that rs.close() is called in finally block if count != 0 (rs is closed above)
if (count == 0) {
// update count is 0, meaning such a row already exists
// DELETE FROM DATASTORE WHERE ID=?
Modified: jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/DbUtility.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/DbUtility.java?rev=813365&r1=813364&r2=813365&view=diff
==============================================================================
--- jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/DbUtility.java (original)
+++ jackrabbit/sandbox/JCR-1456/jackrabbit-core/src/main/java/org/apache/jackrabbit/core/util/db/DbUtility.java Thu Sep 10 11:07:20 2009
@@ -57,11 +57,11 @@
*/
public static void close(Connection con, Statement stmt, ResultSet rs) {
try {
- if (con != null) {
- con.close();
+ if (rs != null) {
+ rs.close();
}
} catch (SQLException e) {
- logException("failed to close Connection", e);
+ logException("failed to close ResultSet", e);
} finally {
try {
if (stmt != null) {
@@ -71,11 +71,11 @@
logException("failed to close Statement", e);
} finally {
try {
- if (rs != null) {
- rs.close();
+ if (con != null) {
+ con.close();
}
} catch (SQLException e) {
- logException("failed to close ResultSet", e);
+ logException("failed to close Connection", e);
}
}
}