Что вызывает java.lang.IllegalStateException: сообщение слишком большое в tomcat / mod_jk - PullRequest
8 голосов
/ 23 сентября 2008

какую конфигурацию необходимо настроить и где она находится, чтобы увеличить максимально допустимый размер сообщения?

Ответы [ 3 ]

21 голосов
/ 23 сентября 2008

Apache Tomcat по умолчанию устанавливает ограничение на максимальный размер запросов HTTP POST, которые он принимает. В Tomcat 5 этот лимит установлен на 2 МБ. При попытке загрузить файлы размером более 2 МБ может возникнуть эта ошибка.

Решение состоит в том, чтобы перенастроить Tomcat для приема больших запросов POST либо путем увеличения лимита, либо путем его отключения. Это можно сделать, отредактировав [TOMCAT_DIR] /conf/server.xml. Задайте для параметра конфигурации Tomcat maxPostSize для HTTPConnector большее значение (в байтах), чтобы увеличить ограничение. Установка его в 0 отключит проверку размера. См. Справочник по конфигурации Tomcat для получения дополнительной информации.

4 голосов
/ 21 мая 2012

Это будет для других людей, я вижу, вы соединяете Apache HTTP и Tomcat (tomcat / mod_jk), в этом случае отредактируйте Cojote / JK2 AJP 1.3 Connector так же, как вы делаете это для стандартного коннектора (Coyote HTTP / 1.1), потому что коннектор AJP1.3 - это место, где Tomcat получает данные.

<!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
<Connector port="8009" 
           enableLookups="false" redirectPort="8443" debug="0"
           protocol="AJP/1.3" maxPostSize="0"/>
0 голосов
/ 29 июля 2014

Основной причиной исключения IllegalStateException является то, что Java-сервлет пытается выполнить запись в выходной поток после подтверждения ответа.

Позаботьтесь о том, чтобы содержимое не добавлялось в ответ после запроса перенаправления / отправки.

...