簡體   English   中英

啟用連接池的Slick 3.0與MySQL的連接

[英]Slick 3.0 Connection to MySQL with connection pool enabled

我有以下application.conf

mysql {
  driver = "com.mysql.jdbc.Driver"
  url = "jdbc:mysql://myserver:3306/mydb"
  user = "foo"
  password = "bar"
  keepAliveConnection = true
  connectionPool = enabled
}

當我執行Database.forConfig("mysql")出現異常

java.lang.ClassNotFoundException: enabled
        at java.lang.ClassLoader.findClass(ClassLoader.java:530)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at slick.util.ClassLoaderUtil$$anon$1.loadClass(ClassLoaderUtil.scala:17)
        at slick.jdbc.JdbcDataSource$.loadFactory$1(JdbcDataSource.scala:37)
        at slick.jdbc.JdbcDataSource$.forConfig(JdbcDataSource.scala:46)
        at slick.jdbc.JdbcBackend$DatabaseFactoryDef.forConfig(JdbcBackend.scala:288)
        at slick.jdbc.JdbcBackend$DatabaseFactoryDef.forConfig$(JdbcBackend.scala:285)
        at slick.jdbc.JdbcBackend$$anon$3.forConfig(JdbcBackend.scala:33)
        at com.abhi.CodeGen$.delayedEndpoint$com$abhi$CodeGen$1(CodeGen.scala:25)
        at com.abhi.CodeGen$delayedInit$body.apply(CodeGen.scala:15)
        at scala.Function0.apply$mcV$sp(Function0.scala:34)
        at scala.Function0.apply$mcV$sp$(Function0.scala:34)

如果我將配置更改為

mysql {
  driver = "com.mysql.jdbc.Driver"
  url = "jdbc:mysql://myserver:3306/mydb"
  user = "foo"
  password = "bar"
  keepAliveConnection = true
  connectionPool = disabled
}

然后一切正常。

但是,如果我嘗試在啟用了連接池的情況下建立連接,為什么會得到這個奇怪的錯誤消息?

編輯:這是我的build.sbt

   "com.typesafe.slick" %% "slick" % "3.2.0",
   "com.typesafe.slick" %% "slick-codegen" % "3.2.0",
   "mysql" % "mysql-connector-java" % "5.1.38",
   "com.zaxxer" % "HikariCP" % "2.6.3"

可能您沒有依賴某些實現池的jar的classpath,例如Hikari。 設置連接池的可能重復項使Slick 3.0崩潰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM