关于使用c3p0数据库连接池tomcat无响应的问题

        c3p0作为目前主流的数据库连接池之一,已经得到频繁的使用,在此之前出来没有发生过类似情况,直至去年开始做集成平台,使用c3p0做连接池,开发、测试环境一切正常,但是正常部署以后,tomcat运行一段时间就会进入假死转态,一开始以为是tomcat作为中间件无法支撑过大的访问量造成的,对tomcat进行各种监测,始终无法解决,最后在偶然的机会看到了一篇关于c3p0的介绍,才将目标转向数据库连接池:

c3p0:  c3p0提供最大空闲时间,当连接时间超过最大连接时间,就会断开当前连接,但是当遇到高并发的时候就会出现连接数占满后无法获取连接的情况,因为无法正常获取连接导致服务接收到请求以后无法继续往下执行,形成tomcat假死的情况。

解决方案:

    1、修改c3p0配置:

         breakAfterAcquireFailure=false,为true会导致连接池占满后不提供服务。所以必须为false。(单纯的修改最大连接数无法解决问题)

    2、替换连接池:

            将数据库连接池替换成dbcp

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容