connection pool

상황에 따른 Hikari CP의 커넥션 풀 상태가 궁금해졌습니다.@Transactional 어노테이션에 따라 active 가 되고 언제 다시 idle로 돌아가는지 알아보기 위해 모니터링을 위한 준비를 했습니다.다음과 같은 클래스 구조에서 확인해 보겠습니다.다음과 같이 테스트 합니다.1. 먼저 facade 클래스의 메서드가 실행되면 Thread.sleep으로 많은 일을 처리했다고 가정합니다.2. @Transactional 어노테이션이 걸려있는 서비스의 메서드를 호출합니다. 각 과정 사이에 HikariCP 로그를 찍어 Connection pool 상태를 확인합니다.자세한 소스코드는 다음 github를 참고해 주세요. 먼저 HikariCP를 모니터링하기 위해 application.yml 에 다음 설정을 추가합..
HikariCP와 JPA로 프로젝트를 구성했는데, 갑자기 에러가 발생하였습니다. o.h.engine.jdbc.spi.SqlExceptionHelper : hikari-pool-1 – Connection is not available, request timed out after 30000ms. hikariCP의 옵션 중 connectionTimeout의 default 가 30000ms 인 것을 확인하고 왜 이런 일이 발생했는지 찾기 시작했습니다. hikariCP 의 Pool에 유지시킬 수 있는 connection 개수인 maximumPoolSize의 default는 10입니다. 에러의 발생 원인은 HikariCP 데이터베이스 커넥션 풀에서 커넥션을 가져오려고 시도했지만 사용 가능한 커넥션이 없거나, 요청이..
개발서버에서 테스트하던 와중에 오랜 시간이 지난 후 WAS에서 DB로 요청을 하게 하였더니 java.sql.SQLNonTransientConnectionException: (conn=18546) Connection reset 에러가 발생하였습니다. 확인해 보니 서버 DBCP 설정에 spring.datasource.dbcp2.test-on-borrow 설정이 'true'로 되어 있었습니다. connection pool에서 connection을 가져올 때 해당 connection이 유효한지 검증을 할 수 있게 설정하는 옵션이었습니다. 해당 옵션으로 인해 spring.datasource.dbcp2.validation-query에 설정된 쿼리가 동작하였습니다. 하지만 validation-query가 동작하였을 ..
infitry
'connection pool' 태그의 글 목록