我有一个基于play-scala Typesafe template (Play Scala Seed)的Play应用程序,并尝试将Slick 3.0.0添加到项目中并连接到PostgreSQL数据库。

首先,我将依赖项添加到build.sbt:

libraryDependencies ++= Seq(
    "com.typesafe.slick" %% "slick" % "3.0.0-RC1",
    "postgresql" % "postgresql" % "9.1-901.jdbc4"
)

然后在application.conf上添加数据库配置:
brDb = {
  dataSourceClass = org.postgresql.ds.PGSimpleDataSource
  url = "jdbc:postgresql://localhost:5432/test"
  user = "postgres"
  password = "postgres"
  numThreads = 10
}

请注意,我没有显式禁用池,因此默认情况下将其启用,因为从Slick 3.0.0 RC1开始,它会尝试使用HikariCP,HikariCP support exists and pooling using it is enabled by default

在我的DAO对象中,尝试获取数据库连接,如下所示:
Database.forConfig("brDb")

当我使用activator run运行应用程序时,出现以下错误:



然后我尝试将HikariCP添加为build.sbt中的依赖项:
libraryDependencies ++= Seq(
    // ...
    "com.zaxxer" % "HikariCP" % "2.3.3",
    // ...
)

使用activator clean compile清理并重新编译了该应用程序,然后再次运行它,但是又出现了另一个错误:



我想我缺少一些配置,但是我不确定,也没有找到有关它的更多信息。我应该如何设置配置以使连接池正常工作?

最佳答案

该错误意味着HikariCP软件包是针对比您正在#上运行的JRE更新的JRE进行编译的。实际上,如果您使用look at the homepage,则会看到您使用的版本是这样的:



我想您正在Java 7上运行。为此,请将以下内容添加到build.sbt中:

libraryDependencies ++= Seq(
  "com.zaxxer" % "HikariCP-java6" % "2.3.3",
)

关于postgresql - 如何在Typesafe conf上为Slick 3.0.0 RC1配置HikariCP,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29239790/

10-09 01:01