AmazonS3Client - No content length specified for stream data. Stream contents will be buffered in memory and could result in out of memory errors.
인텔리제이에서 위 WARN이 발생하였는데 이 경고는 아래 내용이다.
ContentLength가 지정되지 않았기 때문에 데이터 스트림이 메모리에 버퍼링될 것입니다.
이로 인해 메모리 부족 오류가 발생할 수 있습니다.
메모리에 큰 양의 데이터를 버퍼링하면 리소스를 상당히 소모할 수 있습니다.
회사)
백오피스 개발을 할 때 메모리 부족 오류가 발생하였는지 웹페이지가 에러가 발생했고,
아래처럼 수정하였더니 해결되었다.
WARN이 발생한 기존 코드)
ObjectMetadata objectMetadata = new ObjectMetadata();
if(ext.equalsIgnoreCase("APK")) {
objectMetadata.setContentType("application/vnd.android.package-archive");
//objectMetadata.setBucketKeyEnabled(true);
}
수정한 코드)
ObjectMetadata objectMetadata = new ObjectMetadata();
if(ext.equalsIgnoreCase("APK")) {
objectMetadata.setContentType(mimeType);
** 이 코드가 없어서 발생하는 에러 **
objectMetadata.setContentLength(file.length());
//objectMetadata.setBucketKeyEnabled(true);
}
objectMetadata.setContentLength(file.length());
이 코드를 통하여 Content-Length를 지정해주면 경고를 제거할 수 있다.
참고)
https://docs.aws.amazon.com/codeguru/detector-library/java/s3-object-metadata-content-length-check/
'ERROR FIX' 카테고리의 다른 글
Caused by: java.io.FileNotFoundException: class path resource 에러 (0) | 2023.11.11 |
---|---|
스프링 CORS 처리 (+스프링 클라우드 게이트웨이) (1) | 2023.11.05 |
NCP Content-Type 변경 (0) | 2023.08.17 |
[IntelliJ][SVN] is out of date svn: E160028 (0) | 2023.03.06 |
인텔리제이 톰캣 서버 설치와 연결 (0) | 2023.02.21 |
댓글