|
package org.hbsp.cl.directory.config; |
|
|
|
import com.zaxxer.hikari.HikariConfig; |
|
import com.zaxxer.hikari.HikariDataSource; |
|
import org.springframework.beans.factory.annotation.Value; |
|
import org.springframework.context.annotation.*; |
|
|
|
import javax.sql.DataSource; |
|
|
|
@Configuration |
|
@PropertySource(value = {"classpath:properties/${env-name}/clauth-db.properties"}) |
|
public class PersistenceConfig { |
|
|
|
@Bean(name = {"lbeDataSource", "SU_LBE_DS"}) |
|
@Lazy |
|
public DataSource lbeDataSource( |
|
@Value("${clauth.db.driverClass}") String driverClass, |
|
@Value("${clauth.db.url}") String url, |
|
@Value("${clauth.db.cl.username}") String username, |
|
@Value("${clauth.db.cl.password}") String password) { |
|
|
|
return createDataSource(driverClass, url, username, password); |
|
} |
|
|
|
@Bean(name = "dpsDataSource") |
|
@Lazy |
|
public DataSource dpsDataSource( |
|
@Value("${clauth.db.driverClass}") String driverClass, |
|
@Value("${clauth.db.url}") String url, |
|
@Value("${clauth.db.auth.username}") String username, |
|
@Value("${clauth.db.auth.password}") String password) { |
|
|
|
return createDataSource(driverClass, url, username, password); |
|
} |
|
|
|
@Bean(name = "EBSdataSource") |
|
@Lazy |
|
public DataSource ebsDataSource( |
|
@Value("${clauth.db.driverClass}") String driverClass, |
|
@Value("${clauth.db.url}") String url, |
|
@Value("${clauth.db.ebs.username}") String username, |
|
@Value("${clauth.db.ebs.password}") String password) { |
|
|
|
return createDataSource(driverClass, url, username, password); |
|
} |
|
|
|
@Bean(name = "OIDdataSource") |
|
@Lazy |
|
public DataSource oidDataSource( |
|
@Value("${clauth.db.driverClass}") String driverClass, |
|
@Value("${clauth.db.url}") String url, |
|
@Value("${clauth.db.oid.username}") String username, |
|
@Value("${clauth.db.oid.password}") String password) { |
|
|
|
return createDataSource(driverClass, url, username, password); |
|
} |
|
|
|
|
|
private DataSource createDataSource(String driverClass, String url, String username, String password) { |
|
HikariConfig hikariConfig = new HikariConfig(); |
|
hikariConfig.setDriverClassName(driverClass); |
|
hikariConfig.setUsername(username); |
|
hikariConfig.setPassword(password); |
|
hikariConfig.setJdbcUrl(url); |
|
hikariConfig.setMaximumPoolSize(10); |
|
return new HikariDataSource(hikariConfig); |
|
} |
|
} |