[ 
https://issues.apache.org/jira/browse/DBCP-312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phil Steitz updated DBCP-312:
-----------------------------

    Fix Version/s: 1.4.1

> BasicDataSource.close() method needs JavaDoc clarification
> ----------------------------------------------------------
>
>                 Key: DBCP-312
>                 URL: https://issues.apache.org/jira/browse/DBCP-312
>             Project: Commons Dbcp
>          Issue Type: Bug
>    Affects Versions: 1.3
>            Reporter: Glen Mazza
>            Priority: Minor
>             Fix For: 1.4.1
>
>
> Hello, the JavaDoc could use clarification for the BasicDataSource.close() 
> method.  
> Link:  
> http://commons.apache.org/dbcp/apidocs/org/apache/commons/dbcp/BasicDataSource.html#close()
> Text: "Close and release all connections that are currently stored in the 
> connection pool associated with our data source. All open (active) connection 
> remain open until closed. Once the data source has been closed, no more 
> connections can be obtained."
> I'm unsure if this method closes just idle, or both idle and active 
> connections.  This is a important distinction, because you wouldn't want to 
> call close() if you still have some needed active connections open on various 
> threads.  The first sentence seems to indicate both active and idle threads 
> will be closed, but the second sentence indicates that only the idle threads 
> will be explicitly closed.
> Recommend changing text to:
> "Close and release all connections, whether active or idle, that are 
> currently stored in the connection pool associated with our data source.  
> Once the data source has been closed, no more connections can be obtained."
> or (if this method closes just idle connections):
> "Close and release all idle connections that are currently stored in the 
> connection pool associated with our data source. All open (active) 
> connections will still remain open until they are closed via the Connection 
> close() method. Once the data source has been closed, no more connections can 
> be obtained."
> Note that, for the latter case, if BasicDataSource.close() only closes and 
> releases idle connections, and an active DBCP Connection object subsequently 
> has its close() method called, it's not clear whether its underlying actual 
> JDBC connection will be released.  I.e., how do you release JDBC connections 
> on previously active DBCP Connections after BasicDataSource.close() is called?

-- 
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