https://bz.apache.org/bugzilla/show_bug.cgi?id=63210
--- Comment #12 from k...@gameldar.com --- (In reply to Mark Thomas from comment #10) > DBCP2 (actually Pool2) requires explicit shutdown and is documented as such. > If it is shutdown (via closeMethod="close") then the Evictor thread is > stopped. > > My current thinking is to set closeMethod="close" if we create a DataSource > resource using the built-in factory and to do so in such as way that the > user can override it if they wish. I need to test this works as expected. I've just built and tested from the git repository source - the implementation works as you have implemented - it shuts down correctly without the value set, and fails to shutdown if closeMethod="" is used. It actually doesn't fix my use case but that is because we implement our own factory that returns the BasicDataSource. However it does point me to the correct solution, which is to set the closeMethod="close" in my case (I thought I had tried this) - which already works with 9.0.16. I guess the only change that could make this more generic is to test the actualResource for implementing AutoClosable e.g. something like: Object actualResource = envCtx.lookup(resource.getName()); + if (!resource.isCloseMethodConfigured() && actualResource instanceof AutoCloseable) { + resource.setCloseMethod("close"); + } -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org