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;
|
private DataSourceSettings indicDataSourceSettings;
|
||||||
@NestedConfigurationProperty
|
@NestedConfigurationProperty
|
||||||
private DataSourceSettings signalDataSourceSettings;
|
private DataSourceSettings signalDataSourceSettings;
|
||||||
|
@NestedConfigurationProperty
|
||||||
|
private DataSourceSettings scoringDataSourceSettings;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ spring.application.name=credit_tracker
|
||||||
# datasources
|
# datasources
|
||||||
# indic
|
# indic
|
||||||
ct.indic-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver
|
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.username=ros9appl
|
||||||
ct.indic-data-source-settings.password=R0s9Appl
|
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.driver=org.postgresql.Driver
|
||||||
ct.signal-data-source-settings.url=jdbc:postgresql://10.200.200.133:5432/credit_tracker
|
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.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