DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4132>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=4132 possible problem with GenericDataSource.close Summary: possible problem with GenericDataSource.close Product: Struts Version: Nightly Build Platform: Other OS/Version: Other Status: NEW Severity: Enhancement Priority: Other Component: Controller AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm seeing some unexpected behavior in org.apache.struts.util.GenericDataSource.close. - use struts DataSource pooling - get a Connection via DataSource - fail to close it - when you try to reload or close the ActionServlet via http://localhost/manager:8080/reload?...., org.apache.struts.util.GenericDataSource.close goes into an infinite loop. The reason is that org.apache.struts.util.GenericDataSource.activeCount and org.apache.struts.util.GenericDataSource.connections.length() get out of sync. So in close calls getConnection and each decrements and increments activeCount to no avail. Solution: - tell developers (like me) to fix their code :-) - change close to not use activeCount, perhaps using connections.isEmpty() - change GenericDataSource so it tracks connections both in and out of pool, and close both sets of links