美文网首页
关于session没有关掉,数据库连接池被占用的问题。

关于session没有关掉,数据库连接池被占用的问题。

作者: 孙二柯 | 来源:发表于2017-04-21 13:58 被阅读0次

    之前一直用的Mybatis在与Spring整合中,可以不用手动关闭session。也没有遇到数据库连接池被占用的问题。

    现在用mybatis和公司自己封装的JDBC框架进行数据库操作。在商城查询点卡信息的时候,页面刷新多次,即查询了多次。然后数据加载就开始超时。然后跑单元测试,没有问题。查看源码,发现在底层把statement和resultSet在finallyl里杀掉了。以为对该次查询已经做了处理。

    检查c3p0配置,发现查询的次数正好等于最大链接的个数,再访问就超时。认为就是连接池被占用的问题,跑测试类不存在连接池的问题。

最后,在service层在finally中session.close();问题解决。

公司的底层关闭的statement和resultSet并没有关闭connection,这样就需要手动关闭session。

相关文章

  • 关于session没有关掉,数据库连接池被占用的问题。

    之前一直用的Mybatis在与Spring整合中,可以不用手动关闭session。也没有遇到数据库连接池被占用...

  • java基础-day36-数据库连接池和HTML

    数据库连接池和HTML 1. 数据库连接池 1.1 为什么要使用数据库连接池 1.2 数据库连接池考虑的问题 1....

  • Druid数据库连接池设计

    面试中可能被问到数据库连接池原理、如何设计一个数据库连接池等等问题,这边就参考DruidDataSource的设计...

  • Hibernate持久化机制

    Transient:没有被session管理,数据库中没有与之匹配记录 Persistent:纳入session管...

  • 数据库连接池

    数据库连接池介绍 在没有连接池,需要程序直接向数据库获取连接,频繁对数据库进行连接会使数据库宕机,进程直接被结束;...

  • 撩课-JavaWeb之什么是连接池与连接池使用

    什么是连接池 没有连接池的情况 数据库连接池 池 连接池 作用 数据库连接池 示意图 连接池中的属性 连接池使用 ...

  • 写在学习golang一个月后

    遇到的问题 连接池。由于PHP没有连接池,当高并发时就会有大量的数据库连接直接冲击到MySQL上,最终导致数据库挂...

  • 写在学习golang一个月后

    遇到的问题 连接池。由于PHP没有连接池,当高并发时就会有大量的数据库连接直接冲击到MySQL上,最终导致数据库挂...

  • Hibernate之session的三种状态

    hibernate中session的三种状态: 瞬时状态:没有被session所管理且数据库中没有。 持久化状态:...

  • 2018-05-23

    翻译点关于hibernate session的英文材料 Session用于获得与数据库的物理连接,Session对...

网友评论

      本文标题:关于session没有关掉,数据库连接池被占用的问题。

      本文链接:https://www.haomeiwen.com/subject/zgqrvttx.html