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

Phil Steitz commented on DBCP-413:
----------------------------------

DBCP should both set the isClosed property on its wrapper for the 
PreparedStatement and close the actual JDBC statement when a connection 
borrowed from the pool is closed.  The driver should treat repeated close on a 
statement as no-op.  What does not make sense in this case is isClosed 
returning false. That could point to a DBCP bug (though not what the title for 
this issue suggests).  If statement pooling is enabled and there are concurrent 
clients involved, this scenario is possible with the right timing and does not 
indicate a bug in DBCP - just reconfirms that clients should *not* use anything 
associated with a connection once it has been returned to the pool.

> Closing a Connection does not close Statement objects created on that 
> connection, by way of the close() method.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: DBCP-413
>                 URL: https://issues.apache.org/jira/browse/DBCP-413
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Mark W
>            Priority: Minor
>
> While using the MS SQL 2012 jdbc drivers with dbcp, I noticed that if you 
> create a connection, then create a preparedStatement from that connection, 
> and close the connection object, PreparedStatement.isClosed() will return 
> false, but you will get a SQLException stating the statement has been closed 
> if you attempt to call any of the set or execute methods.
> From the JDBC spec:
> Connection.close
> An application calls the method Connection.close() to indicate that it has 
> finished using a connection. All Statement objects created from a given 
> Connection object will be closed when the close method for the Connection 
> object is called.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to