gateway datasource configuration 변경

This commit is contained in:
Rinjae
2025-11-05 21:38:43 +09:00
parent 46eeda1d6a
commit 84c36831ad
@@ -1,7 +1,6 @@
package com.eactive.apim.portal.config;
import com.eactive.eai.data.jpa.BaseRepositoryImpl;
import com.zaxxer.hikari.HikariDataSource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Qualifier;
@@ -9,20 +8,14 @@ import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.core.env.Environment;
import org.springframework.data.domain.AuditorAware;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.jndi.JndiObjectFactoryBean;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import javax.annotation.PostConstruct;
import javax.naming.NamingException;
import javax.sql.DataSource;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.HashMap;
@Configuration
@EntityScan(basePackages = {"com.eactive.apim.gateway"})
@@ -78,28 +71,6 @@ public class GatewayDatasourceConfiguration extends BaseDatasourceConfiguration
return createDataSource(gatewayProp);
}
@Primary
@Bean
public DataSource portalDataSource(EmsDatasourceProperty emsProp) {
// JNDI 이용
if (StringUtils.isNotEmpty(emsProp.getJndiName())) {
try {
return this.jndiLookup(emsProp.getJndiName());
} catch (NamingException e) {
log.warn("JNDI lookup failed.", e);
}
}
log.info("개발환경을 위해 JNDI 대신 직접 DB 접속 시도");
// JNDI 실패시 직접 접속 이용
if (StringUtils.isEmpty(emsProp.getJdbcUrl())) {
throw new IllegalArgumentException("DB 접속을 위한 JNDI 또는 서버 접속 정보가 설정되어 있지 않음");
}
return createDataSource(emsProp);
}
@Bean(name = "gatewayEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean gatewayEntityManagerFactory(
EntityManagerFactoryBuilder builder,
@@ -107,18 +78,4 @@ public class GatewayDatasourceConfiguration extends BaseDatasourceConfiguration
GatewayDataSourceProperty gatewayProp) {
return createEntityManagerFactory(builder, dataSource, gatewayProp);
}
@Primary
@Bean(name = "entityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder builder,
@Qualifier("gatewayDataSource") DataSource dataSource,
EmsDatasourceProperty emsProp) {
return createEntityManagerFactory(builder, dataSource, emsProp);
}
@Bean
public AuditorAware<String> auditorProvider() {
return new AuditorAwareImpl();
}
}