springMvc数据库连接配置错误情况下,Druid一直初始化,导致线程数爆表

蒋沧浪 北京捷达讯通科技有限公司 服务器端工程师  2017-12-06 10:40:42
问题是这样的,我的框架是SpringMVC+mybatis,连接池用的是druid,现在数据库连接配置错误,导致druid初始化失败,但是springmvc的初始化并没有停止,后面继续初始化sqlSessionFactory,自然也是失败,还有各种mapper,这里面存在一个依赖链,mapper->sqlsessionfactory->datasource,所以每次初始化mapper,被依赖的datasource和sqlsessionfactory都初始化失败,这两个对象就会被重复初始化,但是依然还是失败,问题在于,datasource初始化失败之后依然会创建2个线程,
createAndStartCreatorThread();
createAndStartDestroyThread();
即每个连接池包含的创建线程和销毁线程。。。(无法传图,见谅)
巨量线程数,线程名字如下:
Druid-ConnectionPool-Create-XXXXX
Druid-ConnectionPool-Destory-XXXXX
我也有想过,毕竟mapper数量有限,可能一直加载,加载完了可能就会出现一个峰值,不会再继续上涨,但是不是这样的,据我观察,还是会无限上涨,最后导致崩溃,linux下问题尤为明显,不仅仅是线程数,伴随之还有内存的消耗。

求助各位大神有没有遇到过,求解答,在线等

...全文
422 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
我也碰到这个问题了,druid数据库连接串配置错误,初始化后台一直请求,最终导致了linux内存溢出,不知道哪位大神有什么解决方案?
  • 打赏
  • 举报
回复
蒋沧浪 2017-12-06
引用 1 楼 Inhibitory 的回复:
用 druid 1.1.5,重现不了这个问题
我用1.1.6也尝试了,还是有这个问题 上面忘记说我的配置了,比如正确的配置应该这样的 jdbc:postgresql://IP:5432/dbname 然后我这边修改成 jdbc:postgresql://IP:5432/dbname1111 这样就会初始化失败
  • 打赏
  • 举报
回复
Inhibitory 2017-12-06
用 druid 1.1.5,重现不了这个问题
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
加入

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2017-12-06 10:40
社区公告
暂无公告