shjung %!s(int64=2) %!d(string=hai) anos
pai
achega
63b7b90f4b

+ 59 - 9
pom.xml

@@ -24,10 +24,6 @@
         <org.projectlombok.version>1.18.20</org.projectlombok.version>
         <org.mapstruct.version>1.4.2.Final</org.mapstruct.version>
         <jackson.version>2.13.1</jackson.version>
-<!--
-        <jackson.version>2.12.0</jackson.version>
--->
-        <!-- jar 배포용 -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
         <maven.compiler.source>1.8</maven.compiler.source>
@@ -86,17 +82,71 @@
             <artifactId>ojdbc7</artifactId>
             <version>12.1.0.2</version>
         </dependency>
+
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.ojdbc</groupId>-->
+<!--            <artifactId>ojdbc8</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.ojdbc</groupId>-->
+<!--            <artifactId>orai18n</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.jdbc</groupId>-->
+<!--            <artifactId>ojdbc8</artifactId>-->
+<!--            <scope>runtime</scope>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.ojdbc</groupId>-->
+<!--            <artifactId>orai18n</artifactId>-->
+<!--            <scope>runtime</scope>-->
+<!--        </dependency>-->
+
 <!--        <dependency>-->
 <!--            <groupId>com.oracle.database.jdbc</groupId>-->
 <!--            <artifactId>ojdbc8</artifactId>-->
+<!--            <scope>19.11.0.0</scope>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.nls</groupId>-->
+<!--            <artifactId>orai18n</artifactId>-->
+<!--            <version>19.11.0.0</version>-->
+<!--        </dependency>-->
+
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.jdbc</groupId>-->
+<!--            <artifactId>ojdbc8</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.ojdbc</groupId>-->
+<!--            <artifactId>orai18n</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.security</groupId>-->
+<!--            <artifactId>osdt_core</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.security</groupId>-->
+<!--            <artifactId>osdt_cert</artifactId>-->
+<!--            <version>19.3.0.0</version>-->
+<!--        </dependency>-->
+<!--        <dependency>-->
+<!--            <groupId>com.oracle.database.security</groupId>-->
+<!--            <artifactId>oraclepki</artifactId>-->
 <!--            <version>19.3.0.0</version>-->
 <!--        </dependency>-->
 
-        <dependency>
-            <groupId>com.tibero</groupId>
-            <artifactId>tibero6-jdbc</artifactId>
-            <version>14</version>
-        </dependency>
+<!--        <dependency>-->
+<!--            <groupId>com.tibero</groupId>-->
+<!--            <artifactId>tibero6-jdbc</artifactId>-->
+<!--            <version>14</version>-->
+<!--        </dependency>-->
 
         <dependency>
             <groupId>commons-io</groupId>

+ 4 - 1
src/main/java/com/its/op/ItsOpServerApplication.java

@@ -8,6 +8,7 @@ import com.its.op.xnetudp.CenterCommUdpServer;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.Banner;
 import org.springframework.boot.CommandLineRunner;
 import org.springframework.boot.SpringApplication;
@@ -45,9 +46,11 @@ public class ItsOpServerApplication extends SpringBootServletInitializer impleme
 
     private static final String applicationName = "its-op-server";
 
-    public ItsOpServerApplication() {
+    @Autowired
+    public ItsOpServerApplication(ProfileConfig profileConfig) {
         super();
         setRegisterErrorPageFilter(false);
+        profileConfig.printActiveProfiles();
     }
 
     @Override

+ 2 - 2
src/main/java/com/its/op/config/DatabaseItsConfig.java

@@ -76,8 +76,8 @@ public class DatabaseItsConfig {
             @Autowired @Qualifier("dataSource") DataSource primaryDataSource,
             @Autowired @Qualifier("jpaProperties") JpaProperties jpaProperties) {
 
-        //jpaProperties.getProperties().put(AvailableSettings.HBM2DDL_AUTO, "none");
-        jpaProperties.getProperties().put(AvailableSettings.HBM2DDL_AUTO, "validate");
+        jpaProperties.getProperties().put(AvailableSettings.HBM2DDL_AUTO, "none");
+        //jpaProperties.getProperties().put(AvailableSettings.HBM2DDL_AUTO, "validate");
         return builder
                 .dataSource(primaryDataSource)
                 .properties(jpaProperties.getProperties())

+ 23 - 0
src/main/java/com/its/op/config/ProfileConfig.java

@@ -0,0 +1,23 @@
+package com.its.op.config;
+
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+
+@Slf4j
+@RequiredArgsConstructor
+@Component
+public class ProfileConfig {
+
+    private final Environment environment;
+
+    public void printActiveProfiles() {
+
+        log.info("[ActiveProfiles] profiles size : {}", this.environment.getActiveProfiles().length);
+        for (String profile : environment.getActiveProfiles()) {
+            log.info("[ActiveProfiles] profile : {}", profile);
+        }
+    }
+
+}

+ 20 - 1
src/main/java/com/its/op/config/ThreadPoolTaskExecutorConfig.java

@@ -3,9 +3,13 @@ package com.its.op.config;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.BeansException;
+import org.springframework.beans.factory.config.BeanPostProcessor;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.EnableAspectJAutoProxy;
 import org.springframework.scheduling.annotation.AsyncConfigurerSupport;
+import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
 
 import javax.annotation.PostConstruct;
@@ -15,7 +19,9 @@ import java.util.concurrent.Executor;
 @Data
 @Configuration
 @EqualsAndHashCode(callSuper = true)
-public class ThreadPoolTaskExecutorConfig extends AsyncConfigurerSupport {
+@EnableAsync(proxyTargetClass = false) // 프록시 생성 방지
+@EnableAspectJAutoProxy // AOP 프록시를 사용할 수 있도록 설정
+public class ThreadPoolTaskExecutorConfig extends AsyncConfigurerSupport implements BeanPostProcessor {
 
     private int poolCore = 0;
 
@@ -72,4 +78,17 @@ public class ThreadPoolTaskExecutorConfig extends AsyncConfigurerSupport {
         threadPoolTaskExecutor.initialize();
         return threadPoolTaskExecutor;
     }
+
+    @Override
+    public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
+        return bean;
+    }
+
+    @Override
+    public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
+        if (bean instanceof ThreadPoolTaskExecutorConfig) {
+            return ((ThreadPoolTaskExecutorConfig) bean).getAsyncExecutor();
+        }
+        return bean;
+    }
 }

+ 4 - 4
src/main/resources/application.yml

@@ -34,6 +34,8 @@ server:
     include-stacktrace: never
   resources:
     static-locations: file:src/main/resources/static/
+  #tomcat:
+  #  additional-tld-skip-patterns: "*.jar"
 
 spring.profiles.active: prod
 spring:
@@ -89,8 +91,8 @@ spring:
         show-sql: false
         use_sql_columns: true
         hbm2ddl.auto: validate
-        implicit_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
-        physical_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
+#        implicit_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy
+#        physical_naming_strategy: org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy
     output:
       ansi:
         enabled: always
@@ -127,8 +129,6 @@ spring:
   jpa:
     database-platform: org.hibernate.dialect.Oracle12cDialect
     #database-platform: org.hibernate.dialect.Oracle19cDialect
-    #org.hibernate.dialect.Oracle10gDialect
-    #org.hibernate.dialect.Oracle12cDialect
     properties:
       hibernate:
         dialect: org.hibernate.dialect.Oracle12cDialect