问题描述
我目前正在将 JDBCPool
用于 DAO,但连接级别似乎没有超时选项。此选项的用例是,有时我正在查询的表被锁定,并且我使用 io.vertx.sqlclient.SQLConnection
运行的任何查询(选择或更新)都进入无限等待并且不会触发超时。
我检查了 JDBCPool 和 SQLConnection 的 API 文档,但没有提供任何选项。
但我可以看到 io.vertx.ext.sql.SQLConnection 的选项。为什么没有为池连接提供相同的选项?
下面是我使用的代码,
初始化池
pool = JDBCPool.pool(vertx,new JDBCDriver().dbConfigBuild(dbConfigObj));
pool.getConnection(con -> {
if (con.succeeded()) {
使用池执行查询
pool.query(query).execute(rowSetAsyncResult -> {
if (rowSetAsyncResult.succeeded()) {
logger.info("Query executed successfully"); //not printed in log
} else {
logger.error("Query failed"); //not printed in log
}
查询后,执行不会成功或失败,它只是在执行中等待。
如何在连接或语句对象中为查询执行添加超时。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)