Я звоню REST URL
и пытаюсь измерить, сколько времени он принимает, чтобы получить ответ.Ошибка инициализации контекста SSL по умолчанию
Я использую DefaultHttpClient
для того, чтобы получить ответ обратно от REST URL
.
В моей программе ниже каждого потока будет работать определенный диапазон. Как каждый поток будет работать между 1 - 100
и второй поток будет работать между 101 - 200
и т.д.
Так что в моем коде ниже, он когда-то работает для меня, но через некоторое время он бросает мне исключение как
Failure initializing default SSL context
И эта ошибка а хорошо
I/O exception (java.net.SocketException) caught when connecting to the target host: No buffer space available (maximum connections reached?): connect
существует ничего плохого я делаю здесь? - Или я могу использовать лучшие клиент помимо DefaultHttpClient
сделать успокоительный вызов.
Ниже мой код-
class Task implements Runnable {
private DefaultHttpClient httpclient;
private HttpResponse response;
@Override
public void run() {
try {
for (int userId = id; userId < id + noOfTasks; userId++) {
httpclient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://localhost:8080/service/BEService/v1/get/USERID=10000/profile.ACCOUNT.SERVICE");
long start = System.nanoTime();
response = httpclient.execute(httpGet);
long end = System.nanoTime() - start;
HttpEntity entity = response.getEntity();
EntityUtils.consume(entity);
}
} catch (Exception e) {
LOG.error("Threw a Exception in " + getClass().getSimpleName(), e);
} finally {
httpclient.getConnectionManager().shutdown();
}
}
}
Если есть что-то случилось с моим кодом. Как я могу улучшить его?