[
https://issues.apache.org/jira/browse/DBCP-231?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Phil Steitz updated DBCP-231:
-----------------------------
Fix Version/s: 1.4
> Automatic Restart of BasicDataSource After Changing Connection Properties
> Such as Url
> -------------------------------------------------------------------------------------
>
> Key: DBCP-231
> URL: https://issues.apache.org/jira/browse/DBCP-231
> Project: Commons Dbcp
> Issue Type: New Feature
> Affects Versions: 1.3
> Reporter: Joe Kelly
> Priority: Minor
> Fix For: 1.4
>
>
> It would be nice if BasicDataSource could automatically "restart" after
> changing a connection property. For example, in our application, we sometimes
> have to change the connection url at runtime (i.e. we are connected to one
> database and then, under certain conditions, we switch to another database).
> Currently, we workaround this limitation by manually calling
> BasicDataSource.close() after calling BasicDataSource.setUrl().
> Looking at the July 11, 2007 snapshot of the source code for BasicDataSource,
> it appears that the author was _starting_ to implement this feature. If you
> look at many of the setters such as setUrl(), setUsername() and
> setPassword(), you will see this line of code after the corresponding
> instance variable is set:
> this.restartNeeded = true;
> Furthermore, there is this private restart() method (notice the comment "not
> used currently"):
> /**
> * Not used currently
> */
> private void restart() {
> try {
> close();
> } catch (SQLException e) {
> log("Could not restart DataSource, cause: " + e.getMessage());
> }
> }
> To finish implementing this, I think you would only need to add the following
> snippet at the very top of createDataSource():
> if (restartNeeded) {
> restart();
> }
> Some users might not like this feature because it might possibly cause active
> connections to be killed abruptly (I'm not sure though because I haven't
> really looked at the implementation of close() very closely). To calm their
> fears, perhaps you could make this auto-restart feature optional by adding a
> boolean property called "restartable". Then you could modify my snippet to
> this:
> if (restartable && restartNeeded) {
> restart();
> }
> Anyway, just my two cents. I think the class is already pretty useful.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]