关键词:
Proxool
释放
在今天的测试中发现使用的Proxool连接池在连接释放方面有些问题。
具体现象如下:在由编译文件引起的应用程序重启的过程中,Proxool不会释放掉以前占用的连接,但会创建新的连接,这样使得在多次重启后就会出现“Too many connections”的错误,当重启tomcat时这些个连接才能得以释放。
经过查看源码发现:在创建的过程中Proxool把连接池用ProxoolFacade.registerConnectionPool(xxx)的方法注册了,但是没发现在哪释放掉。
解决方式:在ServletContextListener的Listener的contextDestroyed方法中调用ProxoolFacade.shutdown()来释放。经过测试确有效果