我有一个基于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/