关于阿里连接池could not inspect JDBC autocommit mode解决方案

异常:阿里链接池调用方法时时间超时,并且抛出以下错误:


微信图片_20190823153229.png

异常原因,一个方法长时间,多次调用数据库连接,导致链接超时后,session自动关闭。
举个栗子

for(int i = 0;i

在一个方法中多次调用导致会话超时,然后连接池超时后关闭了链接。

解决方法
A:修改连接池自动中时间配置

    

B:修改查询方法 举个栗子 将上面的

for(int i = 0;i

改成,减少数据库调用次数。

    this.demoDAO.findAll(0,Integer.MAX_VALUE);

PS:对于统计数据尽量在SQL层面完成,不要获取所有数据,然后在service进行统计操作,这种做法有以下缺点:
一、维护困难,
二、容易造成精度丢失、
三、速度慢、消耗内存空间大。
这次这个问题就是因为同事在service中多次循环计算求和,所以统计方面尽量在SQL层面解决。

你可能感兴趣的:(关于阿里连接池could not inspect JDBC autocommit mode解决方案)