Что вызывает java.lang.IllegalStateException: Поместить слишком большое значение в tomcat/mod_jk


8

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

20

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

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


4

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

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

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