<개요>
동시에 다수의 Java Process를 기동하여 JDBC Connection을 맺을때 시간이 매우 많이 소요되는 경우가 있습니다.
(timeout이 발생하기도 함)
이럴때는 난수발생을 체크해보시기 바랍니다.
<내용>
JDBC Driver에서 로그인을 하기 위해서 난수발생을 이용하는데 기본적으로
random을 사용하게 되어있습니다.
random에서 waiting이 발생하면서 connection을 맺지 못하는 경우가 있습니다.
이 부분을 urandom을 사용하도록 변경해보시기 바랍니다.
(random에 비해서 urandom은 속도가 빠르고 대신 보안에 취약하다고 보고가 되어있습니다.)
<방법>
JVM옵션을 아래와 같이 추가합니다.
-Djava.security.egd=file:///dev/urandom
ps>리눅스 커널버전에 따라서 발생하는 경우도 있으니 같이 확인하시면 좋을 것 같습니다.
'Java' 카테고리의 다른 글
Spring MVC를 이용한 Test 중 Controller Layer 의 Exception처리 (0) | 2019.06.03 |
---|---|
Spring JPA + Azure Cosmos DB 연결 (라이브러리 변경관련 트러블슈팅) (0) | 2019.03.14 |
FTP connection reset에 관련된 오류해결 (0) | 2016.04.05 |
Spring 과 Java의 ThreadPool 구현차이 (0) | 2015.06.30 |
volatile키워드와 동기화, Atomic 타입 (0) | 2014.11.07 |