Vertx Java - 如何使用compositefuture使用mongoclient更新多个文档

时间:2017-03-24 00:51:53

标签: java mongodb vert.x

我尝试使用vertx mongodb客户端更新vertx微服务中的多个文档。我试图使用复合材料期货。我希望在所有文件都更新后回复。



private static void replaceQuestion(JsonObject query, Handler<AsyncResult<Boolean>> handler) {
		Mongo.getInstance().getClient().replaceOne("questions", query, updateRes -> {
			if (updateRes.succeeded()) {
				handler.handle(Future.succeededFuture(true));
			} else {
				handler.handle(Future.failedFuture(deleteRes.cause()));
			}
		});
	}
&#13;
&#13;
&#13;

我想让这个方法返回一个可以在CompositeFuture中添加的Future对象。

任何人都可以帮忙吗?!

1 个答案:

答案 0 :(得分:1)

您需要创建Future并使用Future.completer方法:

private static Future<Boolean> replaceQuestion(JsonObject query) {
    Future<Boolean> future = Future.future();
    Mongo.getInstance().getClient().replaceOne("questions", query, future.completer());
    return future;
}

Vert.x文档的Concurrent Composition章节中的更多详细信息。