EtC

spring boot 또는 tomcat 에 올라가 구동 되는 웹 어플리케이션 구동이 늦는 경우

freecatz 2022. 11. 1. 09:54

spring boot 의 경우 실행 옵션에 아래의 내용을 추가 한다.

java -Djava.security.egd=file:/dev/./urandom -server -jar freecatz.pe.kr.jar 



tomcat 의 경우 bin 아래 catalina.sh 또는 catalina.bat 파일의 JAVA_OPT 에 추가 한다.

JAVA_OPTS="$JAVA_OPTS -server -Djava.security.egd=file:/dev/./urandom"



위의 설정과 관계 없이 적용 하고 싶은 경우 jdk 가 설치된 디렉토리 아래에서 java.security 파일을 찾아
securerandom.source=file:/dev/random 를 찾아 주석 처리 하고 securerandom.source=file:/dev/./urandom 을 입력해 준다.

#securerandom.source=file:/dev/random
securerandom.source=file:/dev/./urandom


데이터베이스 접속 오류시 나타나는

java.sql.SQLRecoverableException: IO Error: Connection 

SQLRecoverableException: IO 오류: 연결 시간 초과 (Read failed)

에러가 발생 하는 경우에도 위의 설정을 사용 한다고 한다. [참고]

 

조금 다른 이야기지만, java 에서 난수 발생시 Random 보다는 SecureRandom 을 사용 하는 것이 좋다고 한다. [참고