Vertx JDBCPool查询执行超时未触发

问题描述

我目前正在将 JDBCPool 用于 DAO,但连接级别似乎没有超时选项。此选项的用例是,有时我正在查询的表被锁定,并且我使用 io.vertx.sqlclient.SQLConnection 运行的任何查询(选择或更新)都进入无限等待并且不会触发超时。

我检查了 JDBCPoolSQLConnection 的 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 (将#修改为@)