У меня есть приложение J2EE, которое имеет конечную точку REST, которая позволяет загружать файлы. Приложение развертывается на jboss на сервере linux.Загрузка больших файлов приводит к NoHttpResponseException
Все хорошо, когда файлы меньше 4 Мб на нашем сервере, но когда я загрузить большой файл, я всегда в конечном итоге с:
org.apache.http.NoHttpResponseException: The target server failed to respond
Все прекрасно работает, хотя, когда я m тестирование локально (клиент REST вызывает локальный сервер, запущенный на моей машине). Я могу даже загрузить до 10mb + без каких-либо исключений. Но когда я порадую сервер linux через REST-клиент, и файл будет больше, чем 4 МБ, я получу это исключение NoHttpResponseException. Я попытался вызвать конечную точку загрузки в самом Linux-сервере с помощью команды curl, и он работает.
Итак, я предполагаю, что это не что-то конкретное в моих кодах или настройке jboss, но проблема/конфигурация (время ожидания сервера, возможно?) На сервере linux? Может ли кто-нибудь указать мне в правильном направлении?
Все помочь оценить. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация. Благодаря!
У вас установить подключение: Keep-Alive Header и настройка тайм-аут? – loopingz
Когда вы говорите, что вы вызывали конечную точку выгрузки на сервере Linux с помощью curl, было ли добавление полезной нагрузки (данные «POST») размером более 4 МБ? Или это был просто простой завиток, чтобы проверить, реагирует ли конечная точка через HTTP? – HenryTK
Можете ли вы предоставить код для инициализации http-клиента? Поскольку у клиентов по умолчанию установлены установленные по умолчанию таймауты, когда они не изменены, соединения после этого тайм-аута отмечены как устаревшие и очищенные – James