|
|
|
@ -113,7 +113,7 @@ public class DfxAgentConfiguration {
|
|
|
|
List<AgentConfigDto.DataSourceConfig> dataSourceConfigList = agentConfigReader.getAgentConfigDto().getDataSourceConfig();
|
|
|
|
List<AgentConfigDto.DataSourceConfig> dataSourceConfigList = agentConfigReader.getAgentConfigDto().getDataSourceConfig();
|
|
|
|
for(AgentConfigDto.DataSourceConfig dataSourceConfig : dataSourceConfigList) {
|
|
|
|
for(AgentConfigDto.DataSourceConfig dataSourceConfig : dataSourceConfigList) {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
BasicDataSource dataSource = this.createBasicDataSource(dataSourceConfig);
|
|
|
|
BasicDataSource dataSource = DynamicDataSourceService.createBasicDataSource(dataSourceConfig);
|
|
|
|
SqlSessionFactoryBean sqlSessionFactoryBean = new RefreshableSqlSessionFactoryBean();//new SqlSessionFactoryBean();
|
|
|
|
SqlSessionFactoryBean sqlSessionFactoryBean = new RefreshableSqlSessionFactoryBean();//new SqlSessionFactoryBean();
|
|
|
|
org.apache.ibatis.session.Configuration mybatisConfiguration = new org.apache.ibatis.session.Configuration();
|
|
|
|
org.apache.ibatis.session.Configuration mybatisConfiguration = new org.apache.ibatis.session.Configuration();
|
|
|
|
mybatisConfiguration.setJdbcTypeForNull(JdbcType.NULL);
|
|
|
|
mybatisConfiguration.setJdbcTypeForNull(JdbcType.NULL);
|
|
|
|
@ -136,42 +136,6 @@ public class DfxAgentConfiguration {
|
|
|
|
return dynamicRoutingDataSource;
|
|
|
|
return dynamicRoutingDataSource;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private static BasicDataSource createBasicDataSource(AgentConfigDto.DataSourceConfig dataSourceConfig) {
|
|
|
|
|
|
|
|
BasicDataSource dataSource = new BasicDataSource();
|
|
|
|
|
|
|
|
dataSource.setDriverClassName(dataSourceConfig.getDriverClassName());
|
|
|
|
|
|
|
|
dataSource.setUrl(dataSourceConfig.getUrl());
|
|
|
|
|
|
|
|
dataSource.setUsername(dataSourceConfig.getUsername());
|
|
|
|
|
|
|
|
dataSource.setPassword(dataSourceConfig.getPassword());
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(oracle.jdbc.driver.OracleDriver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
dataSource.setValidationQuery("SELECT 1 FROM DUAL");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(org.postgresql.Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
dataSource.setValidationQuery("SELECT 1");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(com.mysql.cj.jdbc.Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
dataSource.setValidationQuery("SELECT 1");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
// else if(com.mysql.jdbc.Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
// dataSource.setValidationQuery("SELECT 1");
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
else if(org.mariadb.jdbc.Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
dataSource.setValidationQuery("SELECT 1");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if(com.ibm.db2.jcc.DB2Driver.class.getCanonicalName().equals(dataSourceConfig.getDriverClassName())) {
|
|
|
|
|
|
|
|
dataSource.setValidationQuery("SELECT 1 FROM SYSIBM.SYSDUMMY1");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
dataSource.setTestOnBorrow(false);
|
|
|
|
|
|
|
|
dataSource.setTestOnReturn(false);
|
|
|
|
|
|
|
|
dataSource.setTestOnCreate(true);
|
|
|
|
|
|
|
|
dataSource.setTestWhileIdle(true);
|
|
|
|
|
|
|
|
dataSource.setInitialSize(3);
|
|
|
|
|
|
|
|
dataSource.setMinIdle(3);
|
|
|
|
|
|
|
|
dataSource.setMaxIdle(30);
|
|
|
|
|
|
|
|
dataSource.setMaxTotal(30);
|
|
|
|
|
|
|
|
return dataSource;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 다중 데이터 소스와 그에 해당하는 sqlSession, transactionManager 설정
|
|
|
|
// 다중 데이터 소스와 그에 해당하는 sqlSession, transactionManager 설정
|
|
|
|
@Bean(name = "dynamicDataSourceService")
|
|
|
|
@Bean(name = "dynamicDataSourceService")
|
|
|
|
public DynamicDataSourceService dynamicDataSourceService() { // 실행확인됨
|
|
|
|
public DynamicDataSourceService dynamicDataSourceService() { // 실행확인됨
|
|
|
|
|