如何解决JDBC 连接在一些空闲时间后丢失
我在一段时间后执行某些 MysqL 查询时收到通信链接失败异常。我正在使用包 groovy.sql 的 sql 连接对象。如果我连续浏览应用程序,该应用程序运行良好,但如果我在理想时间后浏览应用程序,它将无法运行。
详情如下:
- 雄猫 8
- Grails-3.3.11
代码片段:
def dataSource = grails.util.Holders.applicationContext.getBean('dataSource')
sql sql = new sql(dataSource);
sql.rows(query)
数据源属性:
properties:
maxActive: 50
maxIdle: 25
minIdle: 5
initialSize: 5
maxWait: 10000
removeAbandoned: true
removeAbandonedTimeout: 400
logAbandoned: true
minevictableIdleTimeMillis: 1800000
timeBetweenevictionRunsMillis: 1800000
numTestsPerevictionRun: 3
testOnBorrow: true
testWhileIdle: true
testOnReturn: true
validationQuery: "SELECT 1"
提前致谢。
解决方法
我会尝试将 timeBetweenEvictionRunsMillis 设为 -1(已停用)。如果它解决了您的问题,则意味着您遇到了连接池管理问题。
,正在抛出什么(如果有)异常? 你可以考虑看看 https://www.ibm.com/docs/en/mpf/8.0.0?topic=sources-handling-stale-connections
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。