Play-Slick DBAction コードを読んで、このコードには競合状態が含まれている可能性があると思いました。
object DBAction{
// snip
def apply(r: (RequestWithDbSession) => Result)(implicit app:Application) = {
Action { implicit request =>
AsyncResult {
DB.withSession{ s:scala.slick.session.Session =>
Future(r( RequestWithDbSession(request,s) ))(executionContext)
}
}
}
}
この関数は、 が Future[Result] を返し、 を呼び出したr
後、将来の時点で実行されます。このコードに競合状態はありますか?withSession
session.close()