0
内部的には、Play Frameworkはボトムアップから非同期です。 Playはすべてのリクエストを非同期で非ブロッキングな方法で処理します。Play FrameworkとPostgreSQLへの非ブロックリクエスト
PostgreSQLへの非ブロックリクエストの作成方法は? Postgresのにアクセスしているときに瞬間
@Singleton
class Application @Inject()(usersRepossitory: UsersRepository,
cc: ControllerComponents) extends AbstractController(cc) {
def index = Action {
Ok(usersRepository.list().map(_.id).mkString(","))
}
}
case class User(id: Long)
@Singleton
class UsersRepository @Inject()(dbapi: DBApi) {
private val db = dbapi.database("default")
val parser: RowParser[User] = Macro.namedParser[User]
def list: List[User] = db.withConnection { implicit connection =>
val result: List[User] = SQL"SELECT id FROM users".as(parser.*)
result
}
}