Максимальная длина Grails JSON - PullRequest
       9

Максимальная длина Grails JSON

3 голосов
/ 15 сентября 2011

Мне известно, что строки JSON часто имеют максимальную длину, определенную в Apache на PHP, однако, где максимальная длина строк JSON определена в Grails с использованием TomCat?

Строка JSON, которую я отправляю, имеет длину 13 636 символов, однако я могу сильно ее укоротить (хотя я не хочу, пока мы тестируем) - также мы можем отправлять изображения через JSON вбудущее, которое я прочитал, требует кодировки base64 и, следовательно, значительных накладных расходов.Если бы мы делали такое, то я беспокоюсь, что если этот предел вызывает проблемы, это то, что мы должны преодолеть сейчас.

Если нет предела, то возможно, я делаю что-то не так .У меня есть конечное количество доменных объектов, которые я кодирую как JSON, используя domainInstance as grails.converters.deep.JSON - это делается с помощью цикла for, и каждый раз, когда строка JSON добавляется к StringBuilder

, я затем отображаюStringBuilder в представлении, использующем render(stringBuilder.toString()) и первая строка JSON, в порядке, однако вторая обрезается ближе к концу.Если бы я угадал, я бы сказал, что я получаю около 80% от общей длины StringBuilder.

РЕДАКТИРОВАТЬ / РЕШЕНИЕ : Извинения, парни и девушки, я заметил, что когдаЯ view source на странице получаю полную строку JSON, однако, когда я просто просматриваю страницу, она усекается.Это странная ошибка, но я приму ответы на вопрос, почему она усечена.Благодаря.

1 Ответ

3 голосов
/ 15 сентября 2011

Там - это максимальный размер в Tomcat для POST-запросов, который вам может понадобиться позже, если вы начнете отправлять огромные запросы изображений JSON / Base64 (как вы упомянули).

значение по умолчанию в Tomcat составляет 2 097 152 байта (2 МБ);его можно изменить, установив атрибут maxPostSize для <Connector> в server.xml.

Из документов (для maxPostSize в Tomcat 7):

Максимальный размер в байтах POST, который будет обрабатываться при разборе параметра URL-адреса FORM контейнера.Ограничение можно отключить, установив для этого атрибута значение, меньшее или равное 0. Если он не указан, для этого атрибута установлено значение 2097152 (2 мегабайта).

Это довольно просто настроить, есливы развертываете войну Грааля в автономном экземпляре Tomcat.Тем не менее, я не могу найти много информации о настройке server.xml, если вы используете плагин tomcat .Если бы это был я, я бы, вероятно, просто запустил тесты для больших файлов, используя war, а не grails run-app.

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