MultipartException при развертывании в ECS - Spring 1.5.15.RELEASE - PullRequest
0 голосов
/ 29 августа 2018

Я сталкиваюсь с очень странным поведением. Я упаковываю свой jar в контейнер для развертывания его в ECS, однако, похоже, что мое application.yaml не вступает в силу, когда дело касается определения max-file-size до 100M .

как ни странно, он прекрасно работает, когда запускаешь приложение локально или выполняя толстую флягу.

Вот мой application.yaml

spring:
  http.multipart:
    max-file-size: 100MB
    max-request-size: 100MB

Dockerfile

FROM openjdk:8-jre-alpine
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-Dspring.profiles.active=prod","-jar","/app.jar"]

Ошибка на AWS

{
  "timestamp": 1535489967123,
  "status": 500,
  "error": "Internal Server Error",
  "exception": "org.springframework.web.multipart.MultipartException",
  "message": "Could not parse multipart servlet request; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (43258070) exceeds the configured maximum (10485760)",
  "path": "/fake/path/loader"
}

1 Ответ

0 голосов
/ 29 августа 2018

Проблема в основном с вашим application.yaml неправильно упакован. В качестве альтернативы вы можете использовать переопределение командной строки для пружинного фляги следующим образом:

java -jar your-app.jar --spring.http.multipart.max-file-size=100MB --spring.http.multipart.max-request-size=100MB

или вы можете обратиться к загрузке файла внешнего приложения, как указано в этом ответе: Внешний реквизит приложения

...