Vertx で DynamoDB を使用していますが、Verticle の 1 つがエラーでタイムアウトします
応答を 30000(ms) 待ってからタイムアウトしました。住所
eventBus.send("test", testObject, x -> {
if (x.succeeded()) {
log.info("done successfully")
} else {
error(“error while completing”)
}
}
);
public CompletableFuture<Void> process(Object testObject) {
return CompletableFuture.runAsync(() -> dynamoMapper.save(testObject))
.thenAcceptAsync(result -> {
log.info("done successfully")
}).exceptionally(throwable -> {
throw new CompletionException(throwable);
});
}
final void listen(String address) {
eventBus.consumer("test", x -> process(x).whenCompleteAsync((result, t) -> {
if (t == null) {
x.reply(OK);
} else {
x.fail(0, errorMessage);
}
}));
}
しかし、その DynamoDB 保存クエリを非同期で実行すると、この問題は発生しません。vert.x で DynamoDB を使用するためのベスト プラクティスを誰かが提案できますか?