数据库连接池经常报错

Blade 未结 1 16
dubbo
dubbo 剑侠 2小时前

有一个接口是接收别的推送的数据,数据量一直需要insert数据比较大
经常出现 链接错误 下面是错误日志和我的连接池配置,基本就是和官方一样没改过

connection closed

at com.alibaba.druid.pool.DruidPooledConnection.checkStateInternal(DruidPooledConnection.java:1178)

at com.alibaba.druid.pool.DruidPooledConnection.checkState(DruidPooledConnection.java:1169)

at com.alibaba.druid.pool.DruidPooledConnection.getMetaData(DruidPooledConnection.java:890)

at org.springblade.core.mp.plugins.BladePaginationInterceptor.autoDialect(BladePaginationInterceptor.java:81)

at org.springblade.core.mp.plugins.BladePaginationInterceptor.beforeQuery(BladePaginationInterceptor.java:68)

at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:78)

at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59)

at jdk.proxy2/jdk.proxy2.$Proxy413.query(Unknown Source)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:154)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:147)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:142)

at org.apache.ibatis.session.defaults.DefaultSqlSession.selectOne(DefaultSqlSession.java:75)

at jdk.internal.reflect.GeneratedMethodAccessor72.invoke(Unknown Source)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:568)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:333)


Cause: java.sql.SQLException: connection closed

### Cause: java.sql.SQLException: connection closed

; uncategorized SQLException; SQL state [null]; error code [0]; connection closed

at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:96)

at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:347)

at jdk.proxy2/jdk.proxy2.$Proxy154.selectOne(Unknown Source)

at org.mybatis.spring.SqlSessionTemplate.selectOne(SqlSessionTemplate.java:154)

at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:87)

at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:156)

at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:93)

at jdk.proxy2/jdk.proxy2.$Proxy283.selectById(Unknown Source)

at com.baomidou.mybatisplus.extension.repository.IRepository.getById(IRepository.java:183)


我的配置

:
  : select 1
  : 1000
  : true
  : 10
  : ${MAX_DB_CONNECTIONS:100}
  : 20
  : 5000
  : false
  : false
  : true
  : 30000
  : 300000
  : 600000


1条回答
  • 这种不太好排查,得先做下排除法。

    你先用一个原生的springboot工程+mybatis-plus+druid的组合,也模拟同样的场景去接收接口数据,然后把数据插入到一个临时的镜像库,看看这个工程会不会出现同样的问题。

    如果原生工程也有同样问题,那么就需要去查连接池的配置或者数据库服务本身的配置。

    0 讨论(0)
提交回复