인프런 커뮤니티 질문&답변

soyulpark님의 프로필 이미지
soyulpark

작성한 질문수

스프링 DB 1편 - 데이터 접근 핵심 원리

커넥션 관련 질문 드립니다

작성

·

238

·

수정됨

0

커넥션 풀을 이용하여 커넥션을 사용해서 반납하고 다음 커넥션을 가져올 때 conn0이라고 같은 커넥션만 가져오는 것을 볼 수 있는데 커넥션풀이 어떤 커넥션을 주는지 알고리즘이 따로 있는 걸까요? 어떤 기준으로 커넥션을 주는지 궁금합니다

답변 1

0

안녕하세요. soyulpark님, 공식 서포터즈 David입니다.

ConcurrentBag.borrow() 메서드 내 connection을 담고 있는 sharedList를 돌면서 현재 사용중인지 아닌지 상태를 비교해서 사용중이지 않은 커넥션을 반환하는 것으로 보입니다.

image따라서, 사용 후 반환된 상태라면 리스트 내 첫번째에 위치하는 conn0이 계속 반환되는 것 같습니다.

자세한 내용은 아래 코드를 참고해 주세요.

https://github.com/brettwooldridge/HikariCP/blob/dev/src/main/java/com/zaxxer/hikari/util/ConcurrentBag.java#L136

감사합니다.

soyulpark님의 프로필 이미지
soyulpark

작성한 질문수

질문하기