https://issues.apache.org/bugzilla/show_bug.cgi?id=52002
Kevin Greiner <kevin.grei...@compsol.cc> changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #27751|0 |1 is obsolete| | --- Comment #1 from Kevin Greiner <kevin.grei...@compsol.cc> 2011-11-01 00:02:55 UTC --- Created attachment 27879 --> https://issues.apache.org/bugzilla/attachment.cgi?id=27879 Patch to create new test case and fix. This patch directly addresses the defect in the ConnectionPool's setupConnection method. This method creates a new proxy instance each time it is called. However, unlike an ordinary object where each instance is unique, proxy objects store their state in their InvocationHandler object. In the original implementation, calls to getConnection() returned a new proxy instance and, as a side effect, returned all previous proxies to the same PooledConnection to an open state. In this patch, I've created a new interceptor (ProxyCutOffConnection) to act as a unique, and disposable, head to a shared interceptor chain. Each proxy instance created by setConnection uses its own unique ProxyCutOffConnection as its handler. When 'close' is called for the first time, ProxyCutOffConnection first passes it to the next interceptor to perform all normal close logic then it severs its connection with that interceptor. As a result, all future calls using this proxy object irrevocably fail with a connection closed error. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- 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