shjung 2 years ago
parent
commit
0c258d1fb7

+ 4 - 0
pom.xml

@@ -26,6 +26,10 @@
 
     <properties>
         <java.version>1.8</java.version>
+        <swagger.version>2.9.2</swagger.version>
+        <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>
         <!-- jar 배포용 -->
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

+ 11 - 1
src/main/java/com/its/traf/TrafPrcsServerApplication.java

@@ -2,7 +2,7 @@ package com.its.traf;
 
 import com.its.app.utils.OS;
 import com.its.app.utils.SysUtils;
-import com.its.app.AppUtils;
+import com.its.traf.config.AppUtils;
 import com.its.traf.config.ApplicationConfig;
 import com.its.traf.controller.its.TrafPrcs05MPrepareController;
 import com.its.traf.dto.its.TbUnitSystDto;
@@ -34,7 +34,9 @@ import java.awt.event.WindowEvent;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintStream;
+import java.lang.reflect.Field;
 import java.net.URL;
+import java.nio.charset.Charset;
 
 @Slf4j
 @EnableAsync
@@ -45,6 +47,14 @@ public class TrafPrcsServerApplication implements CommandLineRunner, Application
     private static String applicationName = "traf-prcs-server";
 
     public static void main(String[] args) {
+        System.setProperty("file.encoding","UTF-8");
+        try {
+            Field charset = Charset.class.getDeclaredField("defaultCharset");
+            charset.setAccessible(true);
+            charset.set(null,null);
+        } catch(Exception e){
+        }
+
         File file1 = new File("./conf/" + applicationName + ".pid");
         if (file1.exists()) {
             log.info("Program Already Running.....");

+ 1 - 1
src/main/java/com/its/app/AppUtils.java → src/main/java/com/its/traf/config/AppUtils.java

@@ -1,4 +1,4 @@
-package com.its.app;
+package com.its.traf.config;
 
 import org.springframework.context.ApplicationContext;
 import org.springframework.core.env.Environment;

+ 1 - 1
src/main/java/com/its/app/ApplicationContextProvider.java → src/main/java/com/its/traf/config/ApplicationContextProvider.java

@@ -1,4 +1,4 @@
-package com.its.app;
+package com.its.traf.config;
 
 import org.springframework.beans.BeansException;
 import org.springframework.context.ApplicationContext;

+ 55 - 0
src/main/java/com/its/traf/config/SwaggerConfig.java

@@ -0,0 +1,55 @@
+package com.its.traf.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.HttpHeaders;
+import springfox.documentation.builders.ApiInfoBuilder;
+import springfox.documentation.builders.ParameterBuilder;
+import springfox.documentation.builders.PathSelectors;
+import springfox.documentation.builders.RequestHandlerSelectors;
+import springfox.documentation.schema.ModelRef;
+import springfox.documentation.service.ApiInfo;
+import springfox.documentation.service.Parameter;
+import springfox.documentation.spi.DocumentationType;
+import springfox.documentation.spring.web.plugins.Docket;
+import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Configuration
+@EnableSwagger2
+public class SwaggerConfig {
+
+    @Bean
+    public Docket commonApi() {
+        Parameter parameterBuilder = new ParameterBuilder()
+                .name(HttpHeaders.AUTHORIZATION)
+                .description("Access Token")
+                .modelRef(new ModelRef("string"))
+                .parameterType("header")
+                .required(false)
+                .build();
+
+        List<Parameter> globalParameters = new ArrayList<>();
+        globalParameters.add(parameterBuilder);
+        return new Docket(DocumentationType.SWAGGER_2)
+                .globalOperationParameters(globalParameters)
+                .groupName("traf-api")
+                .apiInfo(this.apiInfo())
+                .select()
+                .apis(RequestHandlerSelectors.basePackage("com.its.traf.api.controller"))
+                .paths(PathSelectors.any())
+                //.paths(PathSelectors.ant("/api/**"))
+                .build();
+    }
+
+    private ApiInfo apiInfo() {
+        return new ApiInfoBuilder()
+                .title("Traffic Processing Control API")
+                .description("Traffic Processing Server API")
+                .version("0.0.1")
+                .build();
+    }
+
+}

+ 3 - 3
src/main/java/com/its/traf/process/DbmsDataProcess.java

@@ -1,6 +1,5 @@
 package com.its.traf.process;
 
-import com.its.app.AppUtils;
 import com.its.traf.config.ThreadPoolInitializer;
 import com.its.traf.dao.mapper.its.UnitSystMapper;
 import com.its.traf.dto.its.TbUnitSystSttsDto;
@@ -22,6 +21,7 @@ public class DbmsDataProcess {
     private final LinkedBlockingQueue<DbmsData> DBMS_DATA_QUEUE = new LinkedBlockingQueue<>(1000);
     private final ThreadPoolExecutor taskExecutor = (ThreadPoolExecutor) Executors.newFixedThreadPool(1);
 
+    private final ThreadPoolInitializer poolInitializer;
     private final DbmsDataAsyncTask asyncTask;
 
     private final UnitSystMapper unitSystMapper;
@@ -43,8 +43,8 @@ public class DbmsDataProcess {
         if (MAX_CORE < 8) {
             MAX_CORE = 8;
         }
-        ThreadPoolInitializer poolInitializer = (ThreadPoolInitializer) AppUtils.getBean(ThreadPoolInitializer.class);
-        int executePool = Math.max(MAX_CORE, poolInitializer.getWork());
+//        ThreadPoolInitializer poolInitializer = (ThreadPoolInitializer) AppUtils.getBean(ThreadPoolInitializer.class);
+        int executePool = Math.max(MAX_CORE, this.poolInitializer.getWork());
         for (int ii = 0; ii < executePool; ii++) {
             log.info("DbmsDataProcess.Task: {}", ii);
             this.taskExecutor.execute(() -> {

+ 1 - 1
src/main/java/com/its/traf/service/its/TbVmsIfscService.java

@@ -1,6 +1,6 @@
 package com.its.traf.service.its;
 
-import com.its.app.AppUtils;
+import com.its.traf.config.AppUtils;
 import com.its.traf.dao.mapper.its.VmsIfscMapper;
 import com.its.traf.dto.its.*;
 import com.its.traf.global.AppRepository;

+ 2 - 4
src/main/java/com/its/traf/service/its/UnitSystService.java

@@ -1,7 +1,6 @@
 package com.its.traf.service.its;
 
 import com.its.app.utils.SysUtils;
-import com.its.app.AppUtils;
 import com.its.traf.config.ApplicationConfig;
 import com.its.traf.dao.mapper.its.UnitSystMapper;
 import com.its.traf.dto.its.TbUnitSystDto;
@@ -28,9 +27,9 @@ import java.util.concurrent.ConcurrentHashMap;
 @Getter
 @Service
 @RequiredArgsConstructor
-//@Transactional(rollbackFor = {Exception.class})
 public class UnitSystService {
 
+    private final ApplicationConfig applicationConfig;
     private final DbmsDataProcess dbmsDataProcess;
     private final UnitSystMapper unitSystMapper;
     private final ConcurrentHashMap<String, TbUnitSystDto> unitSystMap = new ConcurrentHashMap<>();
@@ -43,8 +42,7 @@ public class UnitSystService {
     @PostConstruct
     private void init() {
         log.info("[INIT...] UnitSystService.init: start.");
-        ApplicationConfig applicationConfig = (ApplicationConfig) AppUtils.getBean(ApplicationConfig.class);
-        this.processId = applicationConfig.getId();
+        this.processId = this.applicationConfig.getId();
         this.historyMin = -1;
 
         try {

+ 1 - 1
src/main/java/com/its/traf/service/its/collect/LinkRawDataCollectWorker.java

@@ -1,6 +1,6 @@
 package com.its.traf.service.its.collect;
 
-import com.its.app.AppUtils;
+import com.its.traf.config.AppUtils;
 import com.its.traf.dto.its.LinkRawDataDto;
 import com.its.traf.dto.its.LinkRawDataResultDto;
 import com.its.traf.global.AppRepository;

+ 1 - 1
src/main/resources/mybatis/mapper/its/VmsIfscMapper.xml

@@ -19,7 +19,7 @@
         ]]>
     </select>
 
-    <select id="findAllListRltnIfsc" resultType="com.its.traf.dto.its.TbVmsIfscVo">
+    <select id="findAllListRltnIfsc" resultType="com.its.traf.dto.its.TbVmsIfscRltnIfscDto">
     <![CDATA[
         SELECT A.VMS_IFSC_ID,
                A.IFSC_ID,