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