[ 
https://issues.apache.org/jira/browse/DBCP-233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12660138#action_12660138
 ] 

Kavin Du commented on DBCP-233:
-------------------------------

One other repro case is if the underlying database connection is closed 
(listener bounced for example) from the database end, calling 
Connection.close() will result in:  

java.sql.SQLException: Attempted to use Connection after closed() was called.
        at 
org.apache.commons.dbcp.cpdsadapter.ConnectionImpl.assertOpen(ConnectionImpl.java:87)
        at 
org.apache.commons.dbcp.cpdsadapter.ConnectionImpl.close(ConnectionImpl.java:116)

The connection will stay in the the active pool, using up MaxActive.  We need 
to have it drop off from the pool if it's closed.

> Allow connection, statement, and result set to be closed multiple times
> -----------------------------------------------------------------------
>
>                 Key: DBCP-233
>                 URL: https://issues.apache.org/jira/browse/DBCP-233
>             Project: Commons Dbcp
>          Issue Type: Improvement
>            Reporter: Dain Sundstrom
>             Fix For: 1.3
>
>         Attachments: CloseTwice.patch
>
>
> This patch allows Connection, Statement, PreparedStatement, CallableStatement 
> and ResultSet to be closed multiple times.  The first time close is called 
> the resource is closed and any subsequent calls have no effect.  This 
> behavior is required as per the JavaDocs for these classes.  The patch adds 
> tests for closing all types multiple times and updates any tests that 
> incorrectly assert that a resource can be closed more then once.
> This patch fixes DBCP-134 and DBCP-3

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to