Я сделал простое приложение с пружинной загрузкой, которое возвращает статический ответ json на все запросы.
Когда приложение получает запрос с большой полезной нагрузкой (~ 5 МБ json, 1 TP), клиент получаетследующая ошибка:
java.net.SocketException: Broken pipe (Write failed)
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:111)
at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
Я пытался увеличить каждый лимит, который мог - вот мои настройки tomcat:
spring.http.multipart.max-file-size=524288000
spring.http.multipart.max-request-size=524288000
spring.http.multipart.enabled=true
server.max-http-post-size=10000000
server.connection-timeout=30000
server.tomcat.max-connections=15000
server.tomcat.max-http-post-size=524288000
server.tomcat.accept-count=10000
server.tomcat.max-threads=200
server.tomcat.min-spare-threads=200
Что я могу сделать, чтобы сделать эту простую пружинную загрузку всего одним контроллером, для успешной обработки таких полезных нагрузок?
Это приложение Springboot и клиент, отправляющий большую полезную нагрузку, запускаются на 8-ядерном компьютере с оперативной памятью 16 ГБ.Так что ресурсы не должны быть проблемой.