202204211 [20220421] 개발자 일기 그동안 서버를 자주 다운시켰던 주범일 가능성이 높은 원인을 찾았다. 예약 목록을 엑셀 파일로 다운로드할 수 있는 버튼이 있는데 이 버튼을 눌렀을 때 테이블에 있는 모든 로우들을 가져오게 된다. 이 과정에서 검색된 로우들을 자바의 리스트 객체에 넣어야 하는데 자료가 거의 3만 개 가까이 되니 버튼을 눌렀다간 바로 OutOfMemory 예외가 발생할 수밖에 없다. 제대로 이런 엑셀 export 기능을 만들려면 XSSFWorkbook 라이브러리를 사용해서 구현해야 한다고 한다. 그리고 말한 것처럼 한꺼번에 가져오는 것이 아니라 자바 메모리 생각하면서 나눠서 처리해야 안전하다. 그런 방법이 아니라 그냥 데이터를 한꺼번에 리스트 객체에 넣는 것은 서비스 운영 초기에 데이터가 별로 없는 경우에는 문제가 되지 않을 .. 2022. 4. 21. 이전 1 다음 728x90