From 1ed0da8b7605ec3b72e7fa882095724d6a0f7404 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Tue, 28 Oct 2025 19:09:41 +0900 Subject: [PATCH] =?UTF-8?q?DB=20=EA=B2=80=EC=A6=9D=20profile=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/PortalDatasourceConfiguration.java | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java b/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java index ab1ebd3..014503f 100644 --- a/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java +++ b/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java @@ -58,29 +58,34 @@ public class PortalDatasourceConfiguration extends BaseDatasourceConfiguration { @Primary @Bean public DataSource portalDataSource(EmsDatasourceProperty emsProp) { + DataSource dataSource = null; + // JNDI 이용 if (StringUtils.isNotEmpty(emsProp.getJndiName())) { try { - return this.jndiLookup(emsProp.getJndiName()); + dataSource = this.jndiLookup(emsProp.getJndiName()); } catch (NamingException e) { log.warn("JNDI lookup failed.", e); } } - log.info("개발환경을 위해 JNDI 대신 직접 DB 접속 시도"); + if (dataSource == null) { + log.info("개발환경을 위해 JNDI 대신 직접 DB 접속 시도"); - // JNDI 실패시 직접 접속 이용 - if (StringUtils.isEmpty(emsProp.getJdbcUrl())) { - throw new IllegalArgumentException("DB 접속을 위한 JNDI 또는 서버 접속 정보가 설정되어 있지 않음"); + // JNDI 실패시 직접 접속 이용 + if (StringUtils.isEmpty(emsProp.getJdbcUrl())) { + throw new IllegalArgumentException("DB 접속을 위한 JNDI 또는 서버 접속 정보가 설정되어 있지 않음"); + } + + dataSource = createDataSource(emsProp); } - DataSource dataSource = createDataSource(emsProp); - - if (env.matchesProfiles("db_check")) { + if (dataSource != null && env.matchesProfiles("db_check")) { DatabaseSessionVerifier verifier = new DatabaseSessionVerifier(dataSource); verifier.afterSingletonsInstantiated(); } + return dataSource; }