Affects Version/s: None
Fix Version/s: 1.3
Operating System: All
violates the Connection.close() contract specified in the Java 1.5 API. The
current API specifies that calling close() on an already-closed connection is a
no-op. (Blame Sun for the bug. The API didn't used to say that.)
PoolGuardConnectionWrapper.close() first calls checkOpen() which throws an
exception if close() has already been called. Clearly that's not a no-op.
The simplest fix is to change the first line in the close() method from this:
if (this.delegate == null) return;
As of today (2006-03-22) this bug is in the latest SVN source (and has been in
previous versions as well).
DelegatingConnection and PoolingConnection don't seem (from a quick glance) to
have this problem.