作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Groovy 脚本中,我有以下结构:
def sql = Sql.newInstance(connString, "user", "password",
"org.postgresql.Driver")
sql.withTransaction {
sql.withBatch(){}
sql.withBatch(){}
sql.withBatch(){}
.........
}
sql.close()
我想在这里处理超时问题。
但是Sql API 没有任何方法。
那我该怎么做呢?我正在使用 PostgreSQL 驱动程序。
我遇到了 this .但是我得到错误:
java.sql.SQLFeatureNotSupportedException: Method org.postgresql.jdbc4.Jdbc4Connection.setNetworkTimeout(Executor, int) is not yet implemented.
附言:
int[] modifyCount = sql.withBatch(batchSize, updateQuery) { ps ->
keyValue.each { k,v ->
ps.addBatch(keyvalue:k, newvalue:v)
}
}
在上面的代码中,当我尝试添加 ps.setQueryTimeout() 时,错误消息说没有定义这样的方法。
最佳答案
低级超时可以通过连接属性定义:
https://jdbc.postgresql.org/documentation/head/connect.html
这些属性可以在连接 URL 或附加的 Properties 对象参数中指定。
查询超时。连接到数据库后,您可以定义要为每个语句执行的闭包:
sql.withStatement{java.sql.Statement stmt->
stmt.setQueryTimeout( MY_SQL_TIMEOUT )
}
关于postgresql - 如何在 groovy 中处理 PostgreSQL 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56108609/
我是一名优秀的程序员,十分优秀!