From cae20e12801686e2b066bbc0221db85244118509 Mon Sep 17 00:00:00 2001 From: huhdy32 Date: Tue, 6 Jan 2026 13:54:22 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat(lazy-connection):=20lazyConnectionData?= =?UTF-8?q?SourceProxy=20=EC=B6=94=EA=B0=80=EB=A5=BC=20=ED=86=B5=ED=95=B4?= =?UTF-8?q?=20=EC=BB=A4=EB=84=A5=EC=85=98=20=EC=A0=90=EC=9C=A0=20=EC=B5=9C?= =?UTF-8?q?=EC=86=8C=ED=99=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/monolith-api/build.gradle | 1 + common/mathrank-lazy-connection/build.gradle | 3 ++ ...onnectionDataSourceProxyConfiguration.java | 28 +++++++++++++++++++ settings.gradle | 1 + 4 files changed, 33 insertions(+) create mode 100644 common/mathrank-lazy-connection/build.gradle create mode 100644 common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java diff --git a/app/api/monolith-api/build.gradle b/app/api/monolith-api/build.gradle index c50f321b..d5fee637 100644 --- a/app/api/monolith-api/build.gradle +++ b/app/api/monolith-api/build.gradle @@ -41,4 +41,5 @@ dependencies { implementation project(':app:consumer:mathrank-contents-consumer-monolith') implementation project(':common:mathrank-cache-caffeine') + implementation project(':common:mathrank-lazy-connection') } diff --git a/common/mathrank-lazy-connection/build.gradle b/common/mathrank-lazy-connection/build.gradle new file mode 100644 index 00000000..1fdfb1ff --- /dev/null +++ b/common/mathrank-lazy-connection/build.gradle @@ -0,0 +1,3 @@ +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-data-jpa' +} diff --git a/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java b/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java new file mode 100644 index 00000000..2cd9211c --- /dev/null +++ b/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java @@ -0,0 +1,28 @@ +package kr.co.mathrank.common.lazyconnection; + +import javax.sql.DataSource; +import javax.xml.crypto.Data; + +import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Primary; +import org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy; + +import com.zaxxer.hikari.HikariDataSource; + +@Configuration +class LazyConnectionDataSourceProxyConfiguration { + @Bean + HikariDataSource hikariDataSource(final DataSourceProperties dataSourceProperties) { + return dataSourceProperties.initializeDataSourceBuilder() + .type(HikariDataSource.class) + .build(); + } + + @Bean + @Primary + DataSource lazyConnectionDataSource(final HikariDataSource hikariDataSource) { + return new LazyConnectionDataSourceProxy(hikariDataSource); + } +} diff --git a/settings.gradle b/settings.gradle index 75befe68..380173fc 100644 --- a/settings.gradle +++ b/settings.gradle @@ -69,6 +69,7 @@ include( 'domain:mathrank-point-domain', 'common', + 'common:mathrank-lazy-connection', 'common:mathrank-cache', 'common:mathrank-cache-redis', 'common:mathrank-cache-caffeine', From 3e71cbcb594152ba47d1f25b8e2391430d449791 Mon Sep 17 00:00:00 2001 From: huhdy32 Date: Tue, 6 Jan 2026 14:03:21 +0900 Subject: [PATCH 2/2] =?UTF-8?q?style(lazy-connection):=20import=20?= =?UTF-8?q?=EC=A0=95=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../LazyConnectionDataSourceProxyConfiguration.java | 1 - 1 file changed, 1 deletion(-) diff --git a/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java b/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java index 2cd9211c..39069af4 100644 --- a/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java +++ b/common/mathrank-lazy-connection/src/main/java/kr/co/mathrank/common/lazyconnection/LazyConnectionDataSourceProxyConfiguration.java @@ -1,7 +1,6 @@ package kr.co.mathrank.common.lazyconnection; import javax.sql.DataSource; -import javax.xml.crypto.Data; import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties; import org.springframework.context.annotation.Bean;