私の頂点HttpClientRequestで発生するタイムアウト例外をキャッチできませんでした。私は自分の接続を囲み、try-catchブロックに作成コードを要求しています。また、私はexceptionHandlerとendHandlerを追加しました。しかし、タイムアウトが起こると、誰も解雇されません。私が受け取るのは、コンソールに表示される以下のエラーメッセージです。この例外をキャッチする方法を私に教えてください。そうすれば、呼び出し元に関連情報を返すことができます。Vertx HttpClientRequest - タイムアウト例外をキャッチできません
io.vertx.core.http.impl.HttpClientRequestImplは SEVERE:io.netty.channel.ConnectTimeoutException:接続がタイムアウトになりました:
次のコードは、私は、サーバーへの要求を行うために使用するものです。ご覧のとおり、try-catchを使用してexceptionHandlerを追加しました。原因あなたはタイムアウトイベントを取得する前に、あなたの方法は、長い終了しているので、あなたがtry-catch
を使用することはできません非同期プログラミングモデルに
try{
HttpClient httpClient = Vert.x.createHttpClient(new HttpClientOptions().setSsl(true).setTrustAll(true).setVerifyHost(false));
HttpClientRequest request = httpClient.get(port, host, uri.getRawPath(), event-> {
event.exceptionHandler(e -> {
log.error(" Error:: " + e);
});
event.handler(handler -> {
//code
});
});
request.putHeader(HttpHeaders.Names.AUTHORIZATION, "Basic "+authEnc);
request.end();
} catch(Exception e){
log.error(" Exception :: " + e);
}
いくつかのコードが間違いなく助けになる – injecteer