RestTemplate: Есть ли способ защитить JVM от огромного размера ответа?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 RestTemplate: Есть ли способ защитить JVM от огромного размера ответа?

Сообщение Anonymous »

При использовании RestTemplate для взаимодействия с внешним сервисом я несколько раз видел ошибки OutOfMemory в нашем приложении, поскольку сервис передает большие объемы данных (из-за плохой реализации на их стороне, в случае ошибок они отправляли обратно большие трассировки стека в каждом элементе массива, который обычно содержит несколько тысяч). Это заканчивалось примерно 6 ГБ данных, сериализованных Джексоном в нашем приложении и полностью взрывающих Xmx jVM.

Я осмотрелся, но, похоже, не существует никакого способа защититься от такого рода событий, то есть прерывания запроса, когда потоковый ответ превышает заданный размер.

Есть ли решение этой проблемы? Мы используем HTTP-компоненты httpclient 4.5.5 Apache, но любая другая базовая реализация будет приемлемой.

Помимо RestTemplates, решение для реактивного веб-клиента Spring также будет приветствоваться.

Подробнее здесь: https://stackoverflow.com/questions/614 ... ponse-size
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»