我需要从Vert.x的SQLConnection获取底层的java.sql.Connection

时间:2018-04-04 11:40:48

标签: java liquibase vert.x

我正在使用vert.x的JDBCClient来获取我的数据库连接,它只给了我io.vertx.ext.sql.SQLConnection或io.vertx.reactivex.ext.sql.SQLConnection,它们都没有扩展java.sql ■连接。

为了从Verticle调用Liquibase,我需要一个java.sql.Connection。

我知道Vert.x在后面使用了C3Po但是我找不到任何可以给我底层连接的方法。

我怎样才能实现这一目标?

2 个答案:

答案 0 :(得分:3)

如果您使用的是最新版本,则SQLConnection采用unwrap方法。如docs

中所示
  

default <N> N unwrap()

     

返回基础Connection对象(如果可用)。这不是由客户强制执行的。

JDBCClient应返回java.sql.Connection。使用后请不要忘记在原始close上致电SQLConnection

答案 1 :(得分:-1)

您是否尝试过:

final JDBCClient dbClient = JDBCClient.createShared(vertx, new JsonObject()
            .put("url", dbUrl)
            .put("user", user)
            .put("password", pass)
            .put("driver_class", "you.driver")
            .put("max_pool_size", 30)
    );