小编Dan*_*ner的帖子

Vert.x 3.8.1+ 中 CompositeFuture 的 Promise 等价物是什么?

我有一个 Vert.x 3.7.1 方法,它部署了一堆 Verticle,如果所有部署都成功,则通过事件总线发送一条消息来执行一些启动工作。该方法的结构如下所示:

void deploy() {
   Future<Void> v1Future = Future.future();
   Future<Void> v2Future = Future.future();
   // ...

vertx.deployVerticle(new SomeVerticle(), result -> {
   if (result.succeeded()) {
     v1Future.complete();
   } else {
     v1Future.fail(result.cause());
    }
});

// ...

List<Future<Void>> allFutures = ImmutableList.of(v1Future, v2Future);
CompositeFuture.all(allFutures).setHandler(result -> {
   if (result.succeeded()) {
     vertx.eventBus().send("some-address");
   }
});
}
Run Code Online (Sandbox Code Playgroud)

我想Promise在 Vert.x 3.8.1+中用s复制同样的功能,因为Future.future()现在大部分相关方法都被弃用了。问题是,没有CompositePromise或任何看起来与Futures相似的东西。如何执行一系列部署,然后当且仅当所有部署都成功时,使用PromiseVert.x 3.8.1+ 中的新类执行其他操作?

future promise vert.x

4
推荐指数
1
解决办法
1875
查看次数

如何使用列表作为使用 Vertx JDBC 客户端进行 SQL 查询的参数源?

我有一个需要查询运行 Postgres 10.7 的 AWS RDS 实例的 Vert.x Web 应用程序。Vert.x JDBC 客户端是io.vertx:vertx-jdbc-client:3.8.4. 我想查询一个表,约束条件是某个列的值包含在一组值中:

select from table where column in/any (?)

我遵循了 Vertx 文档,它说创建一个JsonArray并用值填充它以注入查询。该列属于类型text,我想要匹配的列表是 Java ArrayList<String>。我的查询代码如下所示:

String sql = "SELECT a FROM table WHERE col IN (?)";
List<String> values = someObject.someField();

            sqlClient.getConnection(connectionResult -> {
                if (connectionResult.failed()) {
                    // handle
                } else {
                    SQLConnection connection = connectionResult.result();

                    JsonArray params = new JsonArray()
                            .add(values);
                    connection.queryWithParams(sql, params, queryResult -> {
                       if (queryResult.failed()) {
                           // handle
                       } else …
Run Code Online (Sandbox Code Playgroud)

postgresql jdbc vert.x

2
推荐指数
1
解决办法
697
查看次数

标签 统计

vert.x ×2

future ×1

jdbc ×1

postgresql ×1

promise ×1