设置 connectionPool 会导致 Slick 3.0 崩溃

Setting connectionPool crashes Slick 3.0

我将 Slick 3.0 与 MySql 一起使用,但性能很差,我想对其进行调整。我用

初始化数据库
val db = Database.forConfig("horridDBStuff")

然后在 application.conf 我有

horridDBStuff = {
    url = "jdbc:mysql://my.db.address:3306/myschema"
    driver = "com.mysql.jdbc.Driver"
    connectionPool = disabled
    keepAliveConnection = true
    properties = {
        user = "me"
        password = "me"
    }
}

Slick 文档说在部署中您应该启用连接池,这就是我想尝试的。但是它没有给出如何执行此操作的示例。我试过注释掉该行,或者用 connectionPool = enabledconnectionPool = 10 替换。所有这些都会使 Slick 崩溃并产生多页错误堆栈。有人知道如何正确配置连接池吗? (任何其他性能建议也将不胜感激 - 我尝试添加 numThreads=10 这似乎并没有太大改善,但至少不会崩溃 ;)

Slick 3.0 使用 HikariCP by default. There's a ton of documentation on its project page 获取调整信息。只要您不介意使用 HikariCP,您根本不需要 connectionPool 参数。

也就是说,您可以在 application.conf 中设置 connectionPool = HikariCP 并且不会引发错误,尽管除了自我记录之外,这似乎是多余的。