You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by di...@apache.org on 2004/05/01 14:50:13 UTC
cvs commit: jakarta-commons/dbcp/src/java/org/apache/commons/dbcp PoolableConnection.java
dirkv 2004/05/01 05:50:13
Modified: dbcp/src/java/org/apache/commons/dbcp
PoolableConnection.java
Log:
Bugzilla Bug 28251: Returning dead database connections to BasicDataSource
- Fixed by catching the SQLException and invalidating the connection before rethrowing the exception.
Revision Changes Path
1.14 +13 -2 jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/PoolableConnection.java
Index: PoolableConnection.java
===================================================================
RCS file: /home/cvs/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/PoolableConnection.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- PoolableConnection.java 28 Feb 2004 12:18:17 -0000 1.13
+++ PoolableConnection.java 1 May 2004 12:50:12 -0000 1.14
@@ -62,7 +62,18 @@
* Returns me to my pool.
*/
public synchronized void close() throws SQLException {
- if(isClosed()) {
+ boolean isClosed = false;
+ try {
+ isClosed = isClosed();
+ } catch (SQLException e) {
+ try {
+ _pool.invalidateObject(this);
+ } catch (Exception ie) {
+ // DO NOTHING the original exception will be rethrown
+ }
+ throw new SQLNestedException("Cannot close connection (isClosed check failed)", e);
+ }
+ if (isClosed) {
throw new SQLException("Already closed.");
} else {
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org