2

一段时间后执行一些 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"

提前致谢。

4

2 回答 2

0

我会尝试将timeBetweenEvictionRunsMillis 设置为 -1(停用)。如果它解决了您的问题,则意味着您遇到了连接池管理问题。

于 2021-06-10T13:40:30.723 回答
0

抛出了什么(如果有的话)异常?您可以考虑查看 https://www.ibm.com/docs/en/mpf/8.0.0?topic=sources-handling-stale-connections

于 2021-06-10T13:45:40.017 回答