Database 在Slick 3.0中关闭DB连接

Database 在Slick 3.0中关闭DB连接,database,connection,slick-3.0,Database,Connection,Slick 3.0,我在Play 2.3.9中使用Slick 3.x,但没有使用Play Slick,因为Play Slick不支持这种组合。我读 它提到数据库连接必须显式关闭,即 def delete(id: Long): Future[Int] = try db.run(filterQuery(id).delete) finally db.close 我是否必须像文章中提到的那样明确地关闭连接?将db.close关闭连接和池吗?因为,另外,Slick 3.0文档中的示例没有显式地关闭连接。我

我在Play 2.3.9中使用Slick 3.x,但没有使用Play Slick,因为Play Slick不支持这种组合。我读

它提到数据库连接必须显式关闭,即

def delete(id: Long): Future[Int] =
    try db.run(filterQuery(id).delete)
    finally db.close

我是否必须像文章中提到的那样明确地关闭连接?将
db.close
关闭连接和池吗?因为,另外,Slick 3.0文档中的示例没有显式地关闭连接。我可能误解了这份文件。感谢

我检查了MySQL进程列表,
显示进程列表
,发现应用程序的连接数没有超过应用程序设置中指定的数量,并且继续接受超过允许的数据库连接数的请求。这表明在每次请求之后,数据库连接都会返回到
db.run(…)
内的池中,并且不需要db.close。

db.close关闭连接池。你可能不想那样做。 在处理数据库查询之前,数据库的写入方式可能会关闭

db.close不关闭连接或语句。这是在db.run()子句中自动完成的