2012-03-12 1 views
3

Мне недавно предложили настроить CXF на те же параметры, что и наша старшая служба XFire.CXF увеличить размер пула подключений без изменения http.maxConnections

Одним из таких параметров был Keep-Alive: timeout=60, max=20. Однако я провел некоторое исследование, и, похоже, CXF использует объект JVM HttpURLConnection под капотом. From what I see, были попытки настроить конфигурацию, но пока ничего не сделано.

Я бы предпочел не изменять параметр http.maxConnections, так как это повлияет только на сервер, а не только на веб-службы CXF.

Я нашел этот interresting forum thread говорить об этом, где Даниэль Kulp говорит:

КСТАТИ: есть способ контролировать пул соединений, но это SERVER сторона вещь. В принципе, если сервер отправляет обратно заголовок:

Keep-Alive: timeout=60, max=5

тогда клиент Java будет уважать эти ценности. Прямо сейчас в CXF, вам, вероятно, потребуется написать перехватчик, чтобы установить эти значения. Я только что сделал фиксацию для соединительной линии, которая расширяет конфигурацию http до , включая параметр для управления этим из файла конфигурации.

Я могу написать перехватчик, который изменяет заголовки, чтобы сделать это. Однако мой вопрос: как сервер реагирует на подобные изменения? Разве это не проблема, если сервер ожидает 5 соединений max и клиент выполняет больше?

ответ

2

Согласно тому, что я прочитал here, что Keep-Alive параметры могут быть либо контроллер свойств системы или непосредственно в заголовках HTTP:

Поддержка HTTP Keep-Alive делается прозрачно. Тем не менее, он может быть под контролем свойств системы http.keepAlive и http.maxConnections, , а также с помощью HTTP/1.1, указанные запроса и ответа заголовки.

Смежные вопросы