Я хочу ограничить количество запросов, которые одно соединение может обрабатывать со стороны клиента.
Я планирую использовать ConnectionReuseStrategy
в ApacheConnector
.
Что-то вроде этого:
ConnectionReuseStrategy connectionReuseStrategy = new ConnectionReuseStrategy() {
@Override
public boolean keepAlive(HttpResponse httpResponse, HttpContext httpContext) {
HttpConnection connection = (HttpConnection)httpContext.getAttribute(HttpCoreContext.HTTP_CONNECTION);
if (connection.getMetrics().getRequestCount() >= 500){
return false;
}
return true;
}
};
Где я ограничиваю максимальное количество запросов / ответов, которые могут произойти в этом соединении.
Мои вопросы:
connection.getMetrics().getReceivedBytesCount()
?1. Нет. 2. Нет. 3. Надежно, но довольно бессмысленно. Какая цель?
«Есть ли оптимальное для практики количество запросов?» Чтобы ответить на этот вопрос, необходимо понимать, почему вы «хотите ограничить количество запросов, которые одно соединение может обрабатывать со стороны клиента». Какова ваша цель в этом? В настоящее время я не могу представить себе ситуацию, когда клиент захочет отказаться от TCP-соединения (которое уже использовалось несколько раз) и поработать над установкой нового.