使用grails中的groovy.sql.newInstance-谁在何时关闭连接?

使用grails中的groovy.sql.newInstance-谁在何时关闭连接?,grails,groovy,connection,Grails,Groovy,Connection,我正在使用grails,但我有很多存储过程,我正试图从groovy.Sql.newInstance调用它们 在我发现的所有例子中,我从来没有看到有人真的通过连接呼叫close。但当我尝试在一个响应中运行一组方法,每个方法都使用自己对newInstance的调用时,它得到了一个错误,即连接太多。这让我相信,这并不是连接池。那真是个倒霉蛋。那么人们是否创建了一个连接并将其传递?grails和groovy会在请求结束时关闭连接吗?我不认为在请求后连接会自动关闭(这也不酷),但您可以手动关闭Sql实例使

我正在使用grails,但我有很多存储过程,我正试图从groovy.Sql.newInstance调用它们


在我发现的所有例子中,我从来没有看到有人真的通过连接呼叫close。但当我尝试在一个响应中运行一组方法,每个方法都使用自己对newInstance的调用时,它得到了一个错误,即连接太多。这让我相信,这并不是连接池。那真是个倒霉蛋。那么人们是否创建了一个连接并将其传递?grails和groovy会在请求结束时关闭连接吗?

我不认为在请求后连接会自动关闭(这也不酷),但您可以手动关闭Sql实例使用的连接:

Sql sql = Sql.newInstance("jdbc://...")
// some queries
sql.close()

如果您想使用池连接(这当然是一个好主意),那么您应该能够创建池连接
BasicDataSource
(作为Springbean)并使用Sql的
Sql(DataSource DataSource)
构造函数,而不是
newInstance()
,请参见