Slick 3.0的HikariCP poolName配置

时间:2015-09-17 23:18:37

标签: slick hikaricp typesafe

我在application.conf中使用Slick 3.0中的以下类型安全配置。 HikariCP是Slick 3.0的默认连接池。我将poolName设置为“primaryPool”:

Initializing A object with a=1
Initializing A object with a=3
Initializing B object with a=1, b=2
Initializing B object with a=1, b=3
140246850102904 140246850102904 140246850102960
140246850103016 140246850103016 140246850103072

从HikariCP日志中,我看到了 清理池统计信息 db 之前(总计= 21,inUse = 0,avail = 21,waiting = 0)

使用默认连接池名称“db”但不是我预期的 primaryPool 。我怀疑配置格式不正确。

所以我的问题是如何使用Typesafe配置在application.conf中配置poolName?

注意:因为我的应用程序中有几个连接池,所以我希望记录特定的池名称来区分不同的池。

1 个答案:

答案 0 :(得分:0)

我通过在自己的代码中设置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的帮助。