Регистрация исключений в обратном вызове 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, и я не могу найти способ изменить его.