Ben oyun kayganPlay Framework 2.5 Kaygan + DI
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.7"
libraryDependencies ++= Seq(
cache,
ws,
"org.scalatestplus.play" %% "scalatestplus-play" % "1.5.0-RC1" % Test,
"com.madgag.spongycastle" % "core" % "1.53.0.0",
"org.flywaydb" %% "flyway-play" % "3.0.0",
"com.typesafe.play" %% "play-slick" % "2.0.0",
"com.typesafe.play" %% "play-slick-evolutions" % "2.0.0"
)
resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"
fork in run := false
ile Play Framework 2.5 kullanarak Ve oyun yetkilisinin önerilir DI ile temel CRUD sınıfını uygulamak çalışıyorum.
trait FooService {
def findById(id: Long)
final class FooTable(tag: Tag) extends Table[FooModel](tag,"foo"){
def id = column[Long]("id")
//....
}
}
@Singleton
class FooServiceImpl @Inject()(protected val dbConfigProvider: DatabaseConfigProvider) extends FooService with HasDatabaseConfigProvider[JdbcProfile] {
import dbConfig.driver.api._
private lazy val bars = TableQuery[FooTable]
def findById(id: Long) = db.run(bars.filter{ x => x.id === id}.result)
//....
}
Module.scala
override def configure() = {
//....
bind(classOf[FooService]).to(classOf[FooServiceImpl])
//....
}
dosyasına koyarak ben slick.dbs.default.db.dataSourceClass = "slick.jdbc.DatabaseUrlDataSource"
eklerseniz kaybolur alır
hata yukarıdaki ayarı kodlarla ilgili bir hata Caused by: java.lang.RuntimeException: driverClassName specified class 'com.mysql.jdbc.Driver' could not be loaded
olsun
slick.dbs.default.driver = "slick.driver.MySQLDriver$"
slick.dbs.default.db.driver = com.mysql.jdbc.Driver
slick.dbs.default.db.url = "jdbc:mysql://localhost/foo"
slick.dbs.default.db.user = "root"
slick.dbs.default.db.password = "password"
/Ancak, application.conf yerine, bunun yerine DB Timeout istisnası alıyorum.
Diğer play2.4 projem (DI olmayan), aynı yapılandırma ayarına sahip bir sunucuya bağlanabileceğinden ve ayrıca sunucuya konsolda bağlanabileceğinden, Db yapılandırmasının doğru olduğundan eminim.
Sorunun nedenini bilmiyorum. Nerede yanlış yapıyorum?
Şimdiden teşekkürler.
Ayrıca, build.sbt dosyanızı da gönderin. – marcospereira
@marcospereira güncellendi. – suish