728x90
서버에 있는 tomcat의 temp 폴더 위치에 5기가 넘는 +~JF****.tmp 파일이 있으며 파일의 크기 또한 다양하게 많이 존재를 하는 경우가 있었다.
구글링을 좀 하다보니 글꼴문제에 관련된 것으로 JVM이 정상적으로 종료되면 이러한 파일들이 모두 삭제가 되야 하지만 메모리 문제로 인해 shutdown 명령어가 안먹고 kill로 죽이는 경우가 종종 있었는데 JVM이 정상적으로 종료가 되지않아 일어난 문제였다.
임시파일이 생성되는 이유는 아래와 같이 InputStream으로 사용하는 경우이다.
1) java.awt.Font.createFont(int i, java.io.InputStream in)
- 이렇게 되면 +~JFXXXX.tmp( XXXX는 긴 숫자를 의미함) 형식의 이름이 생성된다.
- JVM이 종료되면 이러한 모든 파일이 정상적으로 삭제됨
- 임시 파일을 삭제하지않거나, 운영에 적용중인 (장기 실행중인 JVM)의 경우 갑자기 종료가 될때 문제가 발생함.
해결방법: 글꼴 생성 방법을 변경한다.
java.awt.Font.createFont(int i, java.io.File f)
728x90
'Programming > 버그 일지' 카테고리의 다른 글
Firefox 및 Mac Safari에서 preload not working 문제 (0) | 2020.12.22 |
---|---|
TypeError: this.engines is not iterable (0) | 2020.12.16 |
개체가 속성이나 메소드를 지원하지 않습니다(IE Not working after) (0) | 2019.08.23 |
이클립스 오류 - The project was not built due to (0) | 2019.04.18 |
이클립스 String cannot be resolved to a type 에러 해결 (2) | 2019.04.09 |
댓글