I have a requirement to start a new log database on the first of every month.  I still need to have access to older monthly log databases.   I do not want to create a bunch of hardcoded manually configured individual datasources, one for each month.  I have a dynamic datasource solution that is completely implemented and working except for one little thing.

I access the BasicDataSource implementation class for the datasource.  I have an algorithm that substitutes yyyy_MM at the appropriate spot in the configured URL and then updates the url in the datasource.   All of this works great.  I can live with the fact that the datasource can only point to one database at a time.  My concern is that once I transition to another database, there are existing connections in the pool that are already attached to the old database.  I need to clear those out and start over.  But I don't have the luxury of bouncing tomcat to clean it up.

The apache commons BasicDataSource has a restart() method.  But unfortunately that method is omitted from the Tomcat version. There is a close() method on the BasicDataSource.  But I don't see anything that will re-open it after closing.  I thought about changing maxActive to 0, and waiting for it to drain, then setting it back to the original value.  None of these sound like an ideal solution.  Without a restart() method, is there any other way to force all existing connections to close and start clean?

Thx

Jerry


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to