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 f13c8bf..ab1ebd3 100644 --- a/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java +++ b/src/main/java/com/eactive/apim/portal/config/PortalDatasourceConfiguration.java @@ -1,5 +1,6 @@ package com.eactive.apim.portal.config; +import com.eactive.apim.portal.spring.DatabaseSessionVerifier; import com.eactive.eai.data.jpa.BaseRepositoryImpl; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; @@ -73,7 +74,14 @@ public class PortalDatasourceConfiguration extends BaseDatasourceConfiguration { throw new IllegalArgumentException("DB 접속을 위한 JNDI 또는 서버 접속 정보가 설정되어 있지 않음"); } - return createDataSource(emsProp); + DataSource dataSource = createDataSource(emsProp); + + if (env.matchesProfiles("db_check")) { + DatabaseSessionVerifier verifier = new DatabaseSessionVerifier(dataSource); + verifier.afterSingletonsInstantiated(); + } + + return dataSource; } @Primary diff --git a/src/main/java/com/eactive/apim/portal/spring/DatabaseSessionVerifier.java b/src/main/java/com/eactive/apim/portal/spring/DatabaseSessionVerifier.java index 34bfc6b..b95b22c 100644 --- a/src/main/java/com/eactive/apim/portal/spring/DatabaseSessionVerifier.java +++ b/src/main/java/com/eactive/apim/portal/spring/DatabaseSessionVerifier.java @@ -2,17 +2,18 @@ package com.eactive.apim.portal.spring; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.SmartInitializingSingleton; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.Profile; import javax.sql.DataSource; import java.sql.*; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; -import java.util.*; +import java.util.LinkedHashMap; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Set; -@Configuration -@Profile("db_check") +//@Configuration +//@Profile("db_check") @Slf4j public class DatabaseSessionVerifier implements SmartInitializingSingleton { private final DataSource emsDataSource; @@ -61,6 +62,8 @@ public class DatabaseSessionVerifier implements SmartInitializingSingleton { log.error("DB 세션 검증 실패", e); throw new RuntimeException(e); } + + throw new RuntimeException("db_check profile end."); }