본문 바로가기

HikariCP

(3)
[HikariCP][ASM] JDBC 쿼리 로깅하기(ProxyConnection) ProxyConnection ProxyConnection은 java.sql.connection 인터페이스를 구현한 프록시 클래스이다. 그럼 실제 Connection을 하는 객체는? Springboot 등에서 실제 Connection 구현체는 사용하는 데이터베이스와 JDBC Driver에 따라 달라진다. 예를 들어, MySQL을 사용한다면 com.mysql.cj.jdbc.ConnectionImpl이 될 수 있으며, PostgreSQL을 사용한다면 org.postgresql.jdbc.PgConnection이 될 수도 있다. 스프링 부트는 자동 구성(DataSource를 생성하는 기본 로직과 유사하게)을 통해 데이터 소스를 설정하고, 애플리케이션에서 사용하는 구체적인 JDBC 드라이버에 맞는 Connectio..
[DataSource]HikariCP DataSource 연동 과정 및 구현체 https://www.javadoc.io/doc/com.zaxxer/HikariCP/latest/com.zaxxer.hikari/com/zaxxer/hikari/package-summary.html com.zaxxer.hikari package summary - HikariCP 5.1.0 javadoc Latest version of com.zaxxer:HikariCP https://javadoc.io/doc/com.zaxxer/HikariCP Current version 5.1.0 https://javadoc.io/doc/com.zaxxer/HikariCP/5.1.0 package-list path (used for javadoc generation -link option) https://javadoc..
개발 진행 : Springboot DataSource 동적 Proxy 테스트 https://csg1353.tistory.com/179 개발 진행 : 메서드 변조(MethodVisitor, ClassVisitor), 로깅 PrepareStatement Search transformer를 통해 prepareStatement를 조회해보자. public class MyClassTransformer implements ClassFileTransformer { //이 인터페이스의 구현체(transform)은 JVM이 존재하는 클래스를 로드할 때마다 호 csg1353.tistory.com 이전 문제의 한계를 극복하고, 실 sql 쿼리 요청에 대해 성공적으로 로그를 출력(최종적으로는 데이터 파싱) 해야 한다. 이를 위해 몇가지 방법을 찾아보았다. 제시안 1. Java Agent를 통한 드라이버..