配置HikariCP for Play w /和Slick的池大小的正确方法是什么?
我用光滑的方式试过这个:
slick.dbs.default.db.minimumIdle=30
slick.dbs.default.db.maximumPoolSize=30
(其他属性,如connectionTestQuery似乎以这种方式工作)
没有Slick我已尝试过各种组合:
play.db.default.minimumIdle=30
play.db.default.maximumPoolSize=30
和
play.db.default.prototype.hikaricp.minimumIdle=30
play.db.default.prototype.hikaricp.maximumPoolSize=30
我已经看过documentation了,但似乎没有什么可以坚持下去。
答案 0 :(得分:3)
我认为正确的语法是
play.db.default.hikaricp.minimumIdle=30
play.db.default.hikaricp.maximumPoolSize=30
但是does not seem to work with Slick
此外,请注意Play Slick不考虑play.db下的任何配置。
您可以尝试类似
的内容slick.dbs.default.db.numThreads=30
slick.dbs.default.db.queueSize=30
答案 1 :(得分:3)
不要采取错误的方式,实际上在光滑的3.x中,池大小由配置中的numThreads值决定,最小大小为numThreads,最大大小为numThreads * 5,配置值池大小简单,不能在其HikariCP包装器上使用。
答案 2 :(得分:1)
SBT依赖HikariCP连接池
// https://mvnrepository.com/artifact/com.zaxxer/HikariCP
libraryDependencies += "com.zaxxer" % "HikariCP" % "2.3.2"
将HikariDatasource与import一起使用,并使用hikari config的setMaximumPoolSize()方法,如下所示
import com.zaxxer.hikari.HikariDataSource
import com.zaxxer.hikari.HikariConfig
var datasource: HikariDataSource = null
var hc: HikariConfig = new HikariConfig();
hc.setMinimumIdle(--- anything ,depends)
hc.setMaximumPoolSize(300 or anything)
-设置其他需要的属性,例如jdbc url,用户名,密码,数据库名称等
将hikari配置对象设置为hikari数据源
var ds: HikariDataSource = new HikariDataSource(hc);
datasource = ds
并使用数据源。