300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Druid数据库连接池异常--求助问题贴

Druid数据库连接池异常--求助问题贴

时间:2019-06-30 03:42:36

相关推荐

Druid数据库连接池异常--求助问题贴

1.异常问题描述:

项目重启运行一段时间之后(几个小时甚至几天),会抛获取连接异常(异常日志这种下面),但又不影响数据库的访问,项目能正常运行,数据库数据能正常获取。

2.异常日志信息:

-02-18 11:42:43.789 WARN 30571 --- [uire-timer-jobs] com.alibaba.druid.pool.DruidDataSource : get connection timeout retry : 1

-02-18 11:43:43.791 ERROR 30571 --- [uire-timer-jobs] o.f.j.s.i.a.AcquireTimerJobsRunnable : exception during timer job acquisition: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60001, active 1, maxActive 21, creating 1

org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60001, active 1, maxActive 21, creating 1

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:289)

at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:373)

at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)

at org.flowable.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:46)

at org.mon.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)

at org.mon.mandExecutorImpl.execute(CommandExecutorImpl.java:56)

at org.mon.mandExecutorImpl.execute(CommandExecutorImpl.java:51)

at org.flowable.job.service.impl.asyncexecutor.AcquireTimerJobsRunnable.run(AcquireTimerJobsRunnable.java:58)

at java.lang.Thread.run(Thread.java:748)

Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60001, active 1, maxActive 21, creating 1

at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1504)

at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1247)

at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4619)

at com.alibaba.druid.filter.stat.StatFilter.dataSource_getConnection(StatFilter.java:680)

at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615)

at com.alibaba.druid.filter.FilterAdapter.dataSource_getConnection(FilterAdapter.java:2745)

at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615)

at com.alibaba.druid.filter.logging.LogFilter.dataSource_getConnection(LogFilter.java:876)

at com.alibaba.druid.filter.FilterChainImpl.dataSource_connect(FilterChainImpl.java:4615)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1225)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1217)

at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:90)

at sun.reflect.GeneratedMethodAccessor179.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)

at com.alibaba.druid.support.spring.stat.DruidStatInterceptor.invoke(DruidStatInterceptor.java:72)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)

at com.sun.proxy.$Proxy245.getConnection(Unknown Source)

at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:246)

... 8 common frames omitted

3.Druid连接池配置信息:

private String driverClassName = "com.mysql.jdbc.Driver";

private Integer initialSize = 2;

private Integer minIdle = 1;

private Integer maxActive = 21;

private Integer maxWait = 60001;

private Integer timeBetweenEvictionRunsMillis = 60000;

private Integer minEvictableIdleTimeMillis = 300000;

private String validationQuery = "SELECT 'x'";

private Boolean testWhileIdle = true;

private Boolean testOnBorrow = false;

private Boolean testOnReturn = false;

private Boolean poolPreparedStatements = true;

private Integer maxPoolPreparedStatementPerConnectionSize = 20;

private String filters = "stat";

private Boolean removeAbandoned = true;

private Integer removeAbandonedTimeout = 300;

private Boolean logAbandoned = true;

不知道怎么修改才能解决这个问题,希望大神们给看看!!!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。