如何使用 Play 设置 HikariCP 池大小
How to set HikariCP pool size with Play
为 Play w/ 和 w/o Slick 配置 HikariCP 池大小的正确方法是什么?
我用 slick 试过了:
slick.dbs.default.db.minimumIdle=30
slick.dbs.default.db.maximumPoolSize=30
(connectionTestQuery 等其他属性似乎也可以这样工作)
和 w/o 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,但似乎没有任何内容。
我认为正确的语法是
play.db.default.hikaricp.minimumIdle=30
play.db.default.hikaricp.maximumPoolSize=30
但是这个does not seem to work with Slick
Furthermore, be aware that any configuration under play.db is not considered by Play Slick.
你可以试试
slick.dbs.default.db.numThreads=30
slick.dbs.default.db.queueSize=30
不要误会,实际上在slick 3.x中,池的大小是由配置中的numThreads值决定的,最小为numThreads,最大为numThreads * 5,池大小的配置值简单不在其 HikariCP 包装器中使用。
SBT 依赖 HikariCP 连接池
// https://mvnrepository.com/artifact/com.zaxxer/HikariCP
libraryDependencies += "com.zaxxer" % "HikariCP" % "2.3.2"
将 HikariDatasource 与 imports 一起使用,并使用 hikari 配置的 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
并使用数据源。
为 Play w/ 和 w/o Slick 配置 HikariCP 池大小的正确方法是什么?
我用 slick 试过了:
slick.dbs.default.db.minimumIdle=30
slick.dbs.default.db.maximumPoolSize=30
(connectionTestQuery 等其他属性似乎也可以这样工作)
和 w/o 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,但似乎没有任何内容。
我认为正确的语法是
play.db.default.hikaricp.minimumIdle=30
play.db.default.hikaricp.maximumPoolSize=30
但是这个does not seem to work with Slick
Furthermore, be aware that any configuration under play.db is not considered by Play Slick.
你可以试试
slick.dbs.default.db.numThreads=30
slick.dbs.default.db.queueSize=30
不要误会,实际上在slick 3.x中,池的大小是由配置中的numThreads值决定的,最小为numThreads,最大为numThreads * 5,池大小的配置值简单不在其 HikariCP 包装器中使用。
SBT 依赖 HikariCP 连接池
// https://mvnrepository.com/artifact/com.zaxxer/HikariCP
libraryDependencies += "com.zaxxer" % "HikariCP" % "2.3.2"
将 HikariDatasource 与 imports 一起使用,并使用 hikari 配置的 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
并使用数据源。