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 的帮助。