微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JDBC 连接在一些空闲时间后丢失

如何解决JDBC 连接在一些空闲时间后丢失

我在一段时间后执行某些 MysqL 查询时收到通信链接失败异常。我正在使用包 groovy.sqlsql 连接对象。如果我连续浏览应用程序,该应用程序运行良好,但如果我在理想时间后浏览应用程序,它将无法运行。

详情如下:

  • 雄猫 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 举报,一经查实,本站将立刻删除。