Slick 3.0 的 HikariCP poolName 配置
HikariCP poolName configuration for Slick 3.0
我在 application.conf 中为 Slick 3.0 使用以下类型安全配置。 HikariCP 是 Slick 3.0 的默认连接池。我将 poolName 设置为 "primaryPool":
slick.dbs.primary= {
driver="com.typesafe.slick.driver.ms.SQLServerDriver$"
db {
url = "DB URL"
driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
user = "myUser"
password = "myPassword"
poolName="primaryPool"
}
}
从HikariCP日志中,我看到
清理池统计数据之前db(总计=21,使用=0,有效=21,等待=0)
使用了默认连接池名称 "db",但不是我所期望的 primaryPool。我怀疑配置格式不正确。
所以我的问题是如何使用 Typesafe 配置在 application.conf 中配置 poolName?
注意:因为我的应用程序中会有多个连接池,所以我希望记录特定的池名称以区分不同的池。
我通过在自己的代码中设置 poolName 找到了解决方法:
val dbConfig = dbConfigProvider.get[JdbcProfile]
val poolName = dbConfig.config.getConfig("db").getString("poolName")
dbConfig .db.source.asInstanceOf[HikariCPJdbcDataSource].ds.setPoolName(poolName)
由于我硬编码了HikariCPJdbcDataSource,这不是一个好的解决方案,但它至少可以满足我的要求。
仍然希望在 application.conf 中获得有关如何正确配置 poolName 的帮助。
我在 application.conf 中为 Slick 3.0 使用以下类型安全配置。 HikariCP 是 Slick 3.0 的默认连接池。我将 poolName 设置为 "primaryPool":
slick.dbs.primary= {
driver="com.typesafe.slick.driver.ms.SQLServerDriver$"
db {
url = "DB URL"
driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
user = "myUser"
password = "myPassword"
poolName="primaryPool"
}
}
从HikariCP日志中,我看到 清理池统计数据之前db(总计=21,使用=0,有效=21,等待=0)
使用了默认连接池名称 "db",但不是我所期望的 primaryPool。我怀疑配置格式不正确。
所以我的问题是如何使用 Typesafe 配置在 application.conf 中配置 poolName?
注意:因为我的应用程序中会有多个连接池,所以我希望记录特定的池名称以区分不同的池。
我通过在自己的代码中设置 poolName 找到了解决方法:
val dbConfig = dbConfigProvider.get[JdbcProfile]
val poolName = dbConfig.config.getConfig("db").getString("poolName")
dbConfig .db.source.asInstanceOf[HikariCPJdbcDataSource].ds.setPoolName(poolName)
由于我硬编码了HikariCPJdbcDataSource,这不是一个好的解决方案,但它至少可以满足我的要求。
仍然希望在 application.conf 中获得有关如何正确配置 poolName 的帮助。