Set up Scoring DataSource
This commit is contained in:
parent
8a9c9a4c89
commit
efe7ad38ab
3 changed files with 65 additions and 2 deletions
|
|
@ -0,0 +1,55 @@
|
|||
package ru.nbch.credit_tracker.config.datasource;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.ibatis.session.SqlSessionFactory;
|
||||
import org.mybatis.spring.SqlSessionFactoryBean;
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.beans.factory.annotation.Qualifier;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.jdbc.DataSourceBuilder;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.io.Resource;
|
||||
import ru.nbch.credit_tracker.config.settings.CreditTrackerSettings;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
@Slf4j
|
||||
@Configuration
|
||||
@MapperScan(
|
||||
basePackages = "ru.nbch.credit_tracker.mapper.scoring",
|
||||
sqlSessionFactoryRef = "sqlSessionScoring"
|
||||
)
|
||||
public class ScoringDataSourceConfig {
|
||||
|
||||
@Value("classpath:mybatis/mapper/scoring/*.xml")
|
||||
private Resource[] resources;
|
||||
|
||||
@Bean(name = "scoringDataSource")
|
||||
public DataSource dataSource(CreditTrackerSettings config) throws SQLException {
|
||||
DataSourceBuilder<HikariDataSource> dataSourceBuilder = (DataSourceBuilder<HikariDataSource>) DataSourceBuilder.create();
|
||||
dataSourceBuilder.driverClassName(config.getScoringDataSourceSettings().driver());
|
||||
dataSourceBuilder.url(config.getScoringDataSourceSettings().url());
|
||||
dataSourceBuilder.username(config.getScoringDataSourceSettings().username());
|
||||
dataSourceBuilder.password(config.getScoringDataSourceSettings().password());
|
||||
HikariDataSource dataSource = dataSourceBuilder.build();
|
||||
try (Connection connection = dataSource.getConnection()) {
|
||||
connection.isValid(3);
|
||||
} catch (SQLException e) {
|
||||
log.error("Unable to connect to Scoring url={}", config.getIndicDataSourceSettings().url(), e);
|
||||
throw e;
|
||||
}
|
||||
log.info("Connected to Scoring: url={}", config.getIndicDataSourceSettings().url());
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
@Bean(name = "sqlSessionScoring")
|
||||
public SqlSessionFactory sqlSessionFactory(@Qualifier("scoringDataSource") DataSource dataSource) throws Exception {
|
||||
SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
|
||||
sqlSessionFactoryBean.setDataSource(dataSource);
|
||||
sqlSessionFactoryBean.setMapperLocations(resources);
|
||||
return sqlSessionFactoryBean.getObject();
|
||||
}
|
||||
}
|
||||
|
|
@ -15,4 +15,6 @@ public class CreditTrackerSettings {
|
|||
private DataSourceSettings indicDataSourceSettings;
|
||||
@NestedConfigurationProperty
|
||||
private DataSourceSettings signalDataSourceSettings;
|
||||
@NestedConfigurationProperty
|
||||
private DataSourceSettings scoringDataSourceSettings;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ spring.application.name=credit_tracker
|
|||
# datasources
|
||||
# indic
|
||||
ct.indic-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver
|
||||
ct.indic-data-source-settings.url=jdbc:db2://10.230.227.100:2668/cprosd22:currentSchema=INDIC;
|
||||
ct.indic-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=INDIC;
|
||||
ct.indic-data-source-settings.username=ros9appl
|
||||
ct.indic-data-source-settings.password=R0s9Appl
|
||||
|
||||
|
|
@ -11,4 +11,10 @@ ct.indic-data-source-settings.password=R0s9Appl
|
|||
ct.signal-data-source-settings.driver=org.postgresql.Driver
|
||||
ct.signal-data-source-settings.url=jdbc:postgresql://10.200.200.133:5432/credit_tracker
|
||||
ct.signal-data-source-settings.username=credit_tracker_user
|
||||
ct.signal-data-source-settings.password=
|
||||
ct.signal-data-source-settings.password=
|
||||
|
||||
# scoring
|
||||
ct.scoring-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver
|
||||
ct.scoring-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=TEST_2_INDIC;
|
||||
ct.scoring-data-source-settings.username=tester
|
||||
ct.scoring-data-source-settings.password=tester
|
||||
Loading…
Add table
Reference in a new issue