ERROR
Exception in thread "File Watcher" java.lang.OutOfMemoryError: Java heap space
onlyun
2023. 10. 20. 16:30
#에러 상황
> 엑셀 양식을 불러와 데이터를 입력한 후, 엑셀 다운로드 하는 기능 중, 엑셀 양식 불러오기가 안 됨
> 엑셀 양식이 커서 불러오는 게 안 됨
# 사전 정보
> 엑셀에 데이터 입력하는 것은, getRow().setValue() 방식으로, 엑셀 양식 폼에 데이터 입력하는 칸까지 미리 만들어둠(윤곽선 잡아주던가 하는 등의) 이렇게 하면, 엑셀 양식 폼 파일 크기가 커져서 읽어오는데 문제가 많음.
# 원인
메모리 초과
# 해결 1
> 이클립스 VM 메모리 확대
=> 안 됨
# 해결방법
> XSSF 방식으로 읽어오는 것을 SAX 방식으로 변경하면 된다는데,
SAX로 불러와 거기에 데이터 입력하여 저장하는 것까지 하기 어려워
> 헤더 양식만 만들어서 엑셀 양식 폼 용량 줄여서
> 기존 XSSF 방식으로 파일 읽어옴
> 데이터를 getRow().setValue()에서 -> createRow() 형태로 변경하여
> 데이터 만들어서 엑셀 다운로드 하도록 변경
Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@188617ea]
2023-10-19 16:08:20.134 INFO 15156 --- [-nio-80-exec-10] k.isoft.cms.web.aop.ExecutionTimeAspect : -------> EXECUTION TIME LOG : kr.isoft.cms.biz.dao.ThyroidExcelDao(selectThyroidExcelList) [ 총 걸린 시간 :: ( 992ms ) ]
2023-10-19 16:08:20.134 INFO 15156 --- [-nio-80-exec-10] k.isoft.cms.web.aop.ExecutionTimeAspect : -------> EXECUTION TIME LOG : kr.isoft.cms.biz.service.impl.ThyroidExcelServiceImpl(ThyroidExcelList) [ 총 걸린 시간 :: ( 1160ms ) ]
Exception in thread "File Watcher" java.lang.OutOfMemoryError: Java heap space
at java.lang.String.toLowerCase(String.java:2590)
at java.io.WinNTFileSystem.hashCode(WinNTFileSystem.java:690)
at java.io.File.hashCode(File.java:2171)
at org.springframework.boot.devtools.filewatch.FileSnapshot.hashCode(FileSnapshot.java:72)
at java.util.HashMap.hash(HashMap.java:340)
at java.util.HashMap.put(HashMap.java:613)
at java.util.HashSet.add(HashSet.java:220)
at org.springframework.boot.devtools.filewatch.FolderSnapshot.collectFiles(FolderSnapshot.java:70)
at org.springframework.boot.devtools.filewatch.FolderSnapshot.collectFiles(FolderSnapshot.java:67)
at org.springframework.boot.devtools.filewatch.FolderSnapshot.collectFiles(FolderSnapshot.java:67)
at org.springframework.boot.devtools.filewatch.FolderSnapshot.collectFiles(FolderSnapshot.java:67)
at org.springframework.boot.devtools.filewatch.FolderSnapshot.collectFiles(FolderSnapshot.java:67)
Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "File Watcher"
2023-10-19 16:10:50.208 ERROR 15156 --- [-80-BlockPoller] o.a.tomcat.util.net.NioBlockingSelector : Error processing selection key operations
java.lang.OutOfMemoryError: Java heap space
2023-10-19 16:10:50.274 ERROR 15156 --- [-nio-80-exec-10] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space] with root cause
java.lang.OutOfMemoryError: Java heap space