繁体   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