bpapez 2005/12/06 13:13:21 CET
Modified files:
core/src/java/org/jahia/services/database
ConnectionDispenser.java
ConnectionWrapper.java
Log:
put code into finally to ensure that connections are really closed
Revision Changes Path
1.7 +10 -4
jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java.diff?r1=1.6&r2=1.7&f=h
1.3 +10 -4
jahia/core/src/java/org/jahia/services/database/ConnectionWrapper.java
http://jahia.mine.nu:8080/cgi-bin/cvsweb.cgi/jahia/core/src/java/org/jahia/services/database/ConnectionWrapper.java.diff?r1=1.2&r2=1.3&f=h
Index: ConnectionWrapper.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/database/ConnectionWrapper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ConnectionWrapper.java 12 Apr 2005 12:36:36 -0000 1.2
+++ ConnectionWrapper.java 6 Dec 2005 12:13:21 -0000 1.3
@@ -27,11 +27,17 @@
public void close() throws SQLException {
}
public void realClose() throws SQLException {
- for (Iterator ite = cachedStatements.keySet().iterator();
ite.hasNext();) {
- StatementWrapper eps =
(StatementWrapper)cachedStatements.get(ite.next());
- eps.closeReally();
+ try {
+
+ for (Iterator ite = cachedStatements.keySet().iterator(); ite
+ .hasNext();) {
+ StatementWrapper eps = (StatementWrapper) cachedStatements
+ .get(ite.next());
+ eps.closeReally();
+ }
+ } finally {
+ connection.close();
}
- connection.close();
}
public void commit() throws SQLException {connection.commit();}
public Statement createStatement() throws SQLException {
Index: ConnectionDispenser.java
===================================================================
RCS file:
/home/cvs/repository/jahia/core/src/java/org/jahia/services/database/ConnectionDispenser.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- ConnectionDispenser.java 1 Jun 2005 16:47:55 -0000 1.6
+++ ConnectionDispenser.java 6 Dec 2005 12:13:21 -0000 1.7
@@ -83,11 +83,16 @@
if (!connection.getAutoCommit()) {
connection.rollback();
}
- ((ConnectionWrapper)connection).realClose();
- count--;
- logger.debug("Connections still active :" + count);
} catch (SQLException sqle) {
logger.error("Error while closing database connection",
sqle);
+ } finally {
+ try {
+ ((ConnectionWrapper)connection).realClose();
+ } catch (SQLException sqle) {
+ logger.error("Error while closing database connection",
sqle);
+ }
+ count--;
+ logger.debug("Connections still active :" + count);
}
connection = null;
}
@@ -283,8 +288,9 @@
}
} catch (SQLException sqle) {
logger.error("Error while rollbacking database transaction",
sqle);
+ } finally {
+ curConnectionInfo.removeConnection();
}
- curConnectionInfo.removeConnection();
}
public static void terminateConnection () {