Spring 启动 2:使用 Flyway 时检测到明显的连接泄漏
Spring boot 2: Apparent connection leak detected when using Flyway
我有 spring boot 2 应用程序,我正在使用 Flyway 进行数据库迁移。我在应用程序启动时以编程方式执行 flyway 迁移。这样做时我得到:java.lang.Exception:检测到明显的连接泄漏
在行中:
Database database = org.flywaydb.core.internal.database.DatabaseFactory.createDatabase(flyway, false);
这是我的 Hikari CP 配置:
spring.datasource.max-active=20
spring.datasource.idle-timeout=10000
spring.datasource.initial-size=20
spring.datasource.test-on-return=true
spring.datasource.hikari.leak-detection-threshold=10000
所以 Flyway 显然不会关闭连接。解决方案是手动处理:
try (Database database = DatabaseFactory.createDatabase(flyway, false)) {
database.getMainConnection(); // this is important, otherwise there will be connection leak
doRunMigrations(database);
}
我有 spring boot 2 应用程序,我正在使用 Flyway 进行数据库迁移。我在应用程序启动时以编程方式执行 flyway 迁移。这样做时我得到:java.lang.Exception:检测到明显的连接泄漏
在行中:
Database database = org.flywaydb.core.internal.database.DatabaseFactory.createDatabase(flyway, false);
这是我的 Hikari CP 配置:
spring.datasource.max-active=20
spring.datasource.idle-timeout=10000
spring.datasource.initial-size=20
spring.datasource.test-on-return=true
spring.datasource.hikari.leak-detection-threshold=10000
所以 Flyway 显然不会关闭连接。解决方案是手动处理:
try (Database database = DatabaseFactory.createDatabase(flyway, false)) {
database.getMainConnection(); // this is important, otherwise there will be connection leak
doRunMigrations(database);
}