From 93ae1c5c34242338a070132f72741cd3b837d2f4 Mon Sep 17 00:00:00 2001 From: "semin.baek" Date: Wed, 23 Jul 2025 14:49:03 +0900 Subject: [PATCH] =?UTF-8?q?DataSource=EC=97=90=20EvictionPolicy=20?= =?UTF-8?q?=EC=A0=81=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- .../config/datasource/DynamicDataSourceService.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index f95d82d..dacf0bb 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { } group = 'com.bsmlab.dfx' -version = '1.0.2' +version = '1.0.3' // git commit hash -> application.yml def gitCommitId = '' diff --git a/src/main/java/com/bsmlab/dfx/agent/config/datasource/DynamicDataSourceService.java b/src/main/java/com/bsmlab/dfx/agent/config/datasource/DynamicDataSourceService.java index 35fea78..94f05cf 100644 --- a/src/main/java/com/bsmlab/dfx/agent/config/datasource/DynamicDataSourceService.java +++ b/src/main/java/com/bsmlab/dfx/agent/config/datasource/DynamicDataSourceService.java @@ -7,6 +7,7 @@ import org.apache.ibatis.session.SqlSessionFactory; import org.springframework.jdbc.datasource.DataSourceTransactionManager; import org.springframework.stereotype.Component; +import java.time.Duration; import java.util.HashMap; import java.util.Map; @@ -38,6 +39,14 @@ public class DynamicDataSourceService { else if(com.ibm.db2.jcc.DB2Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) { dataSource.setValidationQuery("SELECT 1 FROM SYSIBM.SYSDUMMY1"); } + else if(cubrid.jdbc.driver.CUBRIDDriver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) { + dataSource.setValidationQuery("SELECT 1 FROM DB_ROOT"); + } + dataSource.setEvictionPolicyClassName("org.apache.commons.pool2.impl.DefaultEvictionPolicy"); + dataSource.setSoftMinEvictableIdle(Duration.ofSeconds(30)); + dataSource.setMinEvictableIdle(Duration.ofSeconds(60)); + dataSource.setRemoveAbandonedOnBorrow(true); + dataSource.setRemoveAbandonedOnMaintenance(true); dataSource.setTestOnBorrow(true); dataSource.setTestOnReturn(true); dataSource.setTestOnCreate(true); @@ -50,6 +59,7 @@ public class DynamicDataSourceService { } public SqlSessionFactory getSqlSessionFactory(String dataSourceId) { + SqlSessionFactory sqlSessionFactory = this.sqlSessionFactoryMap.get(dataSourceId); return this.sqlSessionFactoryMap.get(dataSourceId); }