JDBC 연결 풀링에 HikariCP
을 사용하는 프로젝트가 있습니다. 그리고 HikariCP는 내 요구에 잘 맞습니다. 또한 아래와 같이 풀의 통계를 기록합니다. 그냥 내가 MySQL Workbench
를 사용하여 구성 데이터베이스에 대한 모든 MySQL
연결을 폐쇄 실험 목적JDBC 연결은 어떻게 구현됩니까?
2014-12-03 10:16:08 DEBUG HikariPool:559 - Before cleanup pool stats loginPool (total=8, inUse=0, avail=8, waiting=0)
2014-12-03 10:16:08 DEBUG HikariPool:559 - After cleanup pool stats loginPool (total=7, inUse=1, avail=7, waiting=0)
. 그러나 데이터베이스에 대한 실제 연결은 없지만 이전처럼 통계를 로깅하는 것은 여전히 HikariCP
입니다. 연결 요청이있을 때 즉시 연결 (초기 8)을 설정 했으므로 모든 것이 잘 작동합니다.
제 질문은 이러한 연결을 어떻게 관리 또는 구현합니까? 나는 실제적으로 데이터베이스에 존재하지 않는 연결에 대한 메모리 참조가 유효하기 때문에 연결이있는 것처럼 HikariCP
이 통계를 기록하는 이유가 무엇이라고 생각합니다.
내 이해가 정확합니까?
궁금 해서요. 나는 그 질문이 광범위하다는 것을 이미 인정했다. 그러나 Java 힙 객체와 외부 연결 간의 연결을 이해하는 데 사용할 수있는 소스가 있습니까? – phoenix
MySQL Connector/J와 HikariCP 모두를위한 소스 코드가 필요합니다. JVM 소스 코드를 드릴 다운하면 관련성이있는 정보를 알려주지 않을 것입니다. (이 수준에서 이것은 소켓과 스트림에 매핑하는 것일 뿐이며 JDBC 클라이언트 API에서 관찰 한 것과 관련된 "관리"가 진행되지는 않습니다.) –