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); }