본문 바로가기

개발 기록/Spring-boot

[Spring boot] EmbeddedMongo 기반 Multi DataSource(database) 이슈 (어플리케이션 정상 종료가 안되는 현상)

반응형

지난번 포스팅한 EmbeddedMongo에 대한 레플리케이션 셋팅을 다뤘었다. 프로젝트를 진행하면서 여러 라이브러리 및

 

클래스를 구현하다 보니 어느순간부터 어플리케이션 및 junit 테스트를 진행시 정상 종료가 안되는 현상이 있었다.

 

그래서 구현된 클래스 및 라이브러리들을 삭제해가면서 확인 하던중 뜻하지 않은곳에서 에러가 발생한거였다.

 

바로 EmbeddeRedis 설정시 yml파일에 설정한 time-out 설정값이 영향이 생기게 되었다. 좀 더 면밀하게 뜯어봐야 알겠

 

지만 EmbeddeRedis에 time-out을 설정하는 경우 Embedded기반의 관련 라이브러리들이 SpringShutdown Hook에 종

 

료 처리를 비동기식으로 처리하면서 timeout에 설정한 시간 동안 종료 시키지 않는 문제였다.

 

그래서 임시로 EmbeddedRedis의 timeout을 3~5초내외로 수정하여 빠른시간안에 정상종료 되도록 하였다. 

 

더 좋은 방법이 있으면 별도로 포스팅 하겠다.

 

timeout 설정한 초만큼 종료 대기 시간이 길어진다.

반응형