Как мне установить размер буфера ответов Tomcat через конфигурацию? - PullRequest
3 голосов
/ 01 сентября 2011

Я хочу изменить через конфигурацию (afaik server.xml) размер буфера ответов по умолчанию. В документации говорится, что это возможно с помощью атрибута «bufferSize» внутри элемента «Connector», но это не работает. Я также попытался изменить "socket.appWriteBufSize" и "socket.appReadBufSize", но безуспешно:

<Connector port="8080" protocol="HTTP/1.1" 
            connectionTimeout="20000"
    bufferSize="64000" 
    maxHttpHeaderSize="64000"
    socket.appWriteBufSize="64000"
    socket.appReadBufSize="64000"
    redirectPort="8443" />

Обратите внимание, что если я изменю размер ответа из своего кода Java (httpResponse.setBufferSize (64000)), он будет работать, но по уважительной причине я хочу использовать стандартный механизм настройки tomcat.

Все тесты проводились с использованием только что загруженного Tomcat.

Ответы [ 3 ]

0 голосов
/ 24 февраля 2016

Попробуйте следующую настройку в разъеме: socketBuffer="64000"

0 голосов
/ 24 октября 2017

Для использования атрибутов «socket.appWriteBufSize» и «socket.appReadBufSize» ваш соединитель должен быть соединителем NIO. Измените значение атрибута «protocol» с «HTTP / 1.1» на «org.apache.coyote.http11.Http11NioProtocol».

0 голосов
/ 12 сентября 2011

Так что нет никакого способа исправить это, по-видимому. Взглянул на код, но, видимо, буфер сжимается с размером по умолчанию, вырезанным в коде.

Итак, единственный способ решить эту проблему - использовать Response :: setBufferSize () из вашего кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...