From: Marco Zanon Date: Fri, 23 Oct 2015 14:23:13 +0000 (+0000) Subject: Added a simple check to determine if a connection is closed. X-Git-Tag: 4.0~8 X-Git-Url: https://gitweb.marcozanon.com/?a=commitdiff_plain;h=a9d35ee95455789d02a8e268b6b9295d619dab71;p=Macaco Added a simple check to determine if a connection is closed. --- diff --git a/src/java/com/marcozanon/macaco/sql/MSqlConnection.java b/src/java/com/marcozanon/macaco/sql/MSqlConnection.java index 8a2d4f8..9ea683e 100644 --- a/src/java/com/marcozanon/macaco/sql/MSqlConnection.java +++ b/src/java/com/marcozanon/macaco/sql/MSqlConnection.java @@ -91,6 +91,15 @@ public class MSqlConnection extends MObject { } } + public boolean isClosed() throws MSqlConnectionFailureException { + try { + return this.getConnectionReference().isClosed(); + } + catch (SQLException exception) { + throw new MSqlConnectionFailureException("Could not determine the state.", exception); + } + } + protected void finalize() { try { this.close(); diff --git a/src/java/com/marcozanon/macaco/sql/MSqlConnectionPool.java b/src/java/com/marcozanon/macaco/sql/MSqlConnectionPool.java index 940eaff..9aedb6e 100644 --- a/src/java/com/marcozanon/macaco/sql/MSqlConnectionPool.java +++ b/src/java/com/marcozanon/macaco/sql/MSqlConnectionPool.java @@ -75,10 +75,13 @@ public class MSqlConnectionPool extends MObject { return connection; } - public synchronized void pushConnection(MSqlConnection connection) { + public synchronized void pushConnection(MSqlConnection connection) throws MSqlConnectionFailureException { if (null == connection) { throw new IllegalArgumentException("Invalid 'connection': null."); } + else if (connection.isClosed()) { + throw new IllegalArgumentException("Invalid 'connection': closed."); + } // LinkedList connectionPool = this.getConnectionPool(); if (this.getMaximumSize() >= connectionPool.size()) {