[ https://issues.apache.org/jira/browse/DBCP-559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17173447#comment-17173447 ]
Phil Steitz edited comment on DBCP-559 at 8/8/20, 5:20 PM: ----------------------------------------------------------- I am working on a PR with tests for this, though I will happily review any PRs that come in before I finish. A [similar request|https://s.apache.org/gb0lk] was recently posted to tomcat-user. I am hoping that close followed by the simple open proposed in the attachment file (possibly also exposed as combined, "restart") will lead to # Idle connections get immediately closed (close contract) # Checked out connections get closed as they return (but abandoned connection cleanup stops for the pool being closed) # Any config changes made since initialization of running pool are applied to the new pool # New connections get sourced from a new pool that is initialized in "open" # No timer thread leaks or other untoward side effects I will try to add tests to confirm. was (Author: psteitz): I am working on a PR with tests for this, though I will happily review any PRs that come in before I finish. A [similar request|[https://lists.apache.org/thread.html/rf9006a5e3285bc32f0742ad4833c39852601305d5e56fc03dde60043%40%3Cusers.tomcat.apache.org%3E]] was recently posted to tomcat-user. I am hoping that close followed by the simple open proposed in the attachment file (possibly also exposed as combined, "restart") will lead to # Idle connections get immediately closed (close contract) # Checked out connections get closed as they return (but abandoned connection cleanup stops for the pool being closed) # Any config changes made since initialization of running pool are applied to the new pool # New connections get sourced from a new pool that is initialized in "open" # No timer thread leaks or other untoward side effects I will try to add tests to confirm. > 数据库连接可以通过BasicDataSource类的close()方法进行关闭,但该类没有提供open()方法使得新建的数据库连接生效 > ------------------------------------------------------------------- > > Key: DBCP-559 > URL: https://issues.apache.org/jira/browse/DBCP-559 > Project: Commons DBCP > Issue Type: Improvement > Affects Versions: 2.8.0 > Reporter: Wenzhi Ji > Priority: Major > Labels: ready-to-commit > Fix For: 2.8.0 > > Attachments: BasicDataSource.java, BasicDataSourceMXBean.java > > Original Estimate: 1h > Remaining Estimate: 1h > > 当前该开源软件具备的功能:若数据库连接被关闭(即closed置为true),则必须重启服务,才能使新的数据库连接生效(closed置为false)。 > 针对容灾场景,若数据库连接串发生变化,为了使新的数据库连接动态生效(热生效),不需要手工重启服务,建议该开源软件BasicDataSource类提供一个open()方法用于置closed > = false;以使建立的数据库连接生效。 > 变更的代码见附件。 > 注:附件是基于2.7.0版本代码进行优化的。 -- This message was sent by Atlassian Jira (v8.3.4#803005)