Регистрация исключений в обратном вызове HttpAsyncClient

Как я могу регистрировать исключения, которые происходят в методе обратного вызова Apache HttpAsyncClient? Например, следующий код генерирует исключение NullPointerException, но оно скрыто.

CloseableHttpAsyncClient client = HttpAsyncClients.createDefault();
try {
    final HttpGet request = new HttpGet("https://google.com");
    CountDownLatch sentRequestsCountDown = new CountDownLatch(1);
    String nullObject = null;
    final FutureCallback<HttpResponse> callback = new FutureCallback<HttpResponse>() {

        @Override
        public void completed(HttpResponse result) {
            sentRequestsCountDown.countDown();
            // NPE thrown here:
            String itThrowsNPE = nullObject.toString();
            System.out.println(itThrowsNPE);
        }

        @Override
        public void failed(Exception ex) {
            sentRequestsCountDown.countDown();
            System.out.println("failed");
        }

        @Override
        public void cancelled() {
            sentRequestsCountDown.countDown();
            System.out.println("cancelled");
        }
    };

    client.start();
    client.execute(request, callback);
    sentRequestsCountDown.await();
} finally {
    client.close();
}

Когда я запускаю это, я не вижу зарегистрированных исключений. Как я могу настроить регистратор для этого? Кажется, что по умолчанию используется NO_OP ExceptionLogger, и я не могу найти способ изменить его.

0 ответов

Другие вопросы по тегам