shjung 2 年之前
父節點
當前提交
a827728152

+ 56 - 53
src/main/java/com/its/vds/VdsCommServerApplication.java

@@ -1,6 +1,7 @@
 package com.its.vds;
 
 import com.its.app.AppUtils;
+import com.its.app.utils.OS;
 import com.its.app.utils.SysUtils;
 import com.its.vds.config.ProcessConfig;
 import com.its.vds.process.DbmsDataProcess;
@@ -12,11 +13,11 @@ import com.its.vds.xnettcp.center.CenterTcpServerService;
 import com.its.vds.xnettcp.vds.VdsTcpClientCommService;
 import com.its.vds.xnettcp.vds.process.VdsDataProcess;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.catalina.connector.Connector;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.beans.factory.InitializingBean;
 import org.springframework.boot.Banner;
 import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.builder.SpringApplicationBuilder;
 import org.springframework.boot.context.ApplicationPidFileWriter;
@@ -45,30 +46,30 @@ import java.net.URL;
 public class VdsCommServerApplication implements CommandLineRunner, ApplicationListener<ContextClosedEvent>, InitializingBean, DisposableBean {
 //public class VdsCommServerApplication implements ApplicationListener<ContextClosedEvent>, InitializingBean, DisposableBean {
 
-    private Connector connector;
+    private static String applicationName = "vds-comm-server";
 
     public static void main(String[] args) {
-        File file1 = new File("./conf/vds-comm-server.pid");
+        File file1 = new File("./conf/" + applicationName + ".pid");
         if (file1.exists()) {
             System.out.println(System.getProperty("Program Already Running....."));
             log.error("Program Already Running.....");
-            //return;
         }
 
-        ApplicationContext context = new SpringApplicationBuilder(VdsCommServerApplication.class)
-                //.web(WebApplicationType.NONE)
-                .listeners(new ApplicationPidFileWriter("./conf/vds-comm-server.pid"))
-                .headless(false)
-                .bannerMode(Banner.Mode.OFF)
-                .run(args);
-
-//        SpringApplication application = new SpringApplicationBuilder()
-//                .sources(VdsCommServerApplication.class)
-//                .listeners(new ApplicationPidFileWriter("./conf/vds-comm-server.pid"))
-//                //.headless(false)
-//                //.web(WebApplicationType.NONE)
-//                .build();
-//        application.run(args);
+        if (!OS.isWindows()) {
+            ApplicationContext context = new SpringApplicationBuilder(VdsCommServerApplication.class)
+                    //.web(WebApplicationType.NONE)
+                    .listeners(new ApplicationPidFileWriter("./conf/" + applicationName + ".pid"))
+                    .headless(false)
+                    .bannerMode(Banner.Mode.OFF)
+                    .run(args);
+        } else {
+            SpringApplication application = new SpringApplicationBuilder()
+                    .sources(VdsCommServerApplication.class)
+                    .listeners(new ApplicationPidFileWriter("./conf/" + applicationName + ".pid"))
+                    .build();
+            application.setBannerMode(Banner.Mode.OFF);
+            application.run(args);
+        }
     }
 
     @Override
@@ -112,43 +113,45 @@ public class VdsCommServerApplication implements CommandLineRunner, ApplicationL
         // schedule enable
         processConfig.setStartSchedule(true);
 
-        SwingUtilities.invokeLater(() -> {
-            String sysTime = SysUtils.getSysTimeStr();
-            //JFrame.setDefaultLookAndFeelDecorated(true);
-            JFrame frame = new JFrame("VDS 통신 서버 - [" + sysTime + "]");
-            MainUI UI = new MainUI(frame);
-            try {
-                ClassPathResource file = new ClassPathResource("static/image/application.png");
-                URL imgURL = file.getURL();
-                frame.setIconImage(new ImageIcon(imgURL).getImage());
-            } catch (IOException e) {
-                log.error("Not found application icon image");
-            }
-            frame.setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE);
-            frame.setContentPane(UI.getRootPanel());
-            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-            frame.addWindowListener(new WindowAdapter() {
-                @Override
-                public void windowClosing(WindowEvent e) {
-                    if (JOptionPane.showConfirmDialog(UI.getRootPanel(), "시스템을 종료 하시겠습니까?", "시스템 종료", 0) == 0) {
-                        System.exit(0);
-                    } else {
-                        frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
-                    }
+        if (!OS.isWindows()) {
+            SwingUtilities.invokeLater(() -> {
+                String sysTime = SysUtils.getSysTimeStr();
+                //JFrame.setDefaultLookAndFeelDecorated(true);
+                JFrame frame = new JFrame("VDS 통신 서버 - [" + sysTime + "]");
+                MainUI UI = new MainUI(frame);
+                try {
+                    ClassPathResource file = new ClassPathResource("static/image/application.png");
+                    URL imgURL = file.getURL();
+                    frame.setIconImage(new ImageIcon(imgURL).getImage());
+                } catch (IOException e) {
+                    log.error("Not found application icon image");
                 }
+                frame.setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE);
+                frame.setContentPane(UI.getRootPanel());
+                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+                frame.addWindowListener(new WindowAdapter() {
+                    @Override
+                    public void windowClosing(WindowEvent e) {
+                        if (JOptionPane.showConfirmDialog(UI.getRootPanel(), "시스템을 종료 하시겠습니까?", "시스템 종료", 0) == 0) {
+                            System.exit(0);
+                        } else {
+                            frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+                        }
+                    }
+                });
+                frame.pack();
+                frame.setBounds(100, 100, 1000, 600);
+                frame.setLocationRelativeTo(null);
+                frame.setVisible(true);
+
+                JTextArea logArea = UI.getTaLog();
+                logArea.setText(null);
+                JTextAreaOutputStream out = new JTextAreaOutputStream(logArea);
+                System.setOut(new PrintStream(out));
+
+                UI.LoadControllerInfo();
             });
-            frame.pack();
-            frame.setBounds(100, 100, 1000, 600);
-            frame.setLocationRelativeTo(null);
-            frame.setVisible(true);
-
-            JTextArea logArea = UI.getTaLog();
-            logArea.setText(null);
-            JTextAreaOutputStream out = new JTextAreaOutputStream(logArea);
-            System.setOut(new PrintStream(out));
-
-            UI.LoadControllerInfo();
-        });
+        }
     }
 
     public void terminateApplication() {

+ 4 - 10
src/main/java/com/its/vds/process/DbmsData.java

@@ -7,17 +7,11 @@ import lombok.Setter;
 @Setter
 public class DbmsData {
 
-    public static final int DBMS_DATA_UNIT_SYST_STTS    = 0;
-    public static final int DBMS_DATA_CTLR_STTS         = 1;
-    public static final int DBMS_DATA_DTCT_CLCT         = 2;
-    public static final int DBMS_DATA_DTCT_STTS         = 3;
-    public static final int DBMS_DATA_VEH_CLCT          = 4;
+    private DbmsDataType type;
+    private boolean      isHistory;
+    private Object       data;
 
-    private int     type;
-    private boolean isHistory;
-    private Object  data;
-
-    public DbmsData(int type, boolean isHistory, Object data) {
+    public DbmsData(DbmsDataType type, boolean isHistory, Object data) {
         this.type      = type;
         this.isHistory = isHistory;
         this.data      = data;

+ 4 - 4
src/main/java/com/its/vds/process/DbmsDataProcess.java

@@ -79,7 +79,7 @@ public class DbmsDataProcess {
      * @param data
      */
     public void runJob(DbmsData data) {
-        if (data.getType() == DbmsData.DBMS_DATA_UNIT_SYST_STTS) {
+        if (data.getType() == DbmsDataType.DBMS_DATA_UNIT_SYST_STTS) {
             TbUnitSystStts stts = (TbUnitSystStts) data.getData();
             this.unitSystMapper.updateUnitSystStts(stts);       // 상태정보 업데이트
             if (data.isHistory()) {
@@ -93,9 +93,9 @@ public class DbmsDataProcess {
 
     public void process(DbmsData data) {
         try {
-            int type = data.getType();
+            DbmsDataType type = data.getType();
             switch(type) {
-                case DbmsData.DBMS_DATA_CTLR_STTS:
+                case DBMS_DATA_CTLR_STTS:
                     List<TbVdsCtlrStts> ctlrSttsList = (List<TbVdsCtlrStts>)data.getData();
                     this.vdsCtlrDao.updateStts(ctlrSttsList, data.isHistory()); // 상태정보 업데이트
                     if (data.isHistory()) {
@@ -103,7 +103,7 @@ public class DbmsDataProcess {
                     }
                     ctlrSttsList.clear();
                     break;
-                case DbmsData.DBMS_DATA_DTCT_CLCT:
+                case DBMS_DATA_DTCT_CLCT:
                     List<voVdsDtctClct> dtctClctList = (List<voVdsDtctClct>)data.getData();
                     this.vdsDtctDao.updateClct(dtctClctList, data.isHistory()); // 수집정보 업데이트
                     this.vdsDtctDao.insertClct(dtctClctList);                   // 수집정보 이력저장

+ 11 - 0
src/main/java/com/its/vds/process/DbmsDataType.java

@@ -0,0 +1,11 @@
+package com.its.vds.process;
+
+public enum DbmsDataType {
+
+    DBMS_DATA_UNIT_SYST_STTS,
+    DBMS_DATA_CTLR_STTS,
+    DBMS_DATA_DTCT_CLCT,
+    DBMS_DATA_DTCT_STTS,
+    DBMS_DATA_VEH_CLCT,
+
+}

+ 2 - 1
src/main/java/com/its/vds/service/UnitSystService.java

@@ -8,6 +8,7 @@ import com.its.vds.entity.TbUnitSyst;
 import com.its.vds.entity.TbUnitSystStts;
 import com.its.vds.process.DbmsData;
 import com.its.vds.process.DbmsDataProcess;
+import com.its.vds.process.DbmsDataType;
 import lombok.Getter;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -120,7 +121,7 @@ public class UnitSystService {
             }
         }
         else {
-            this.dbmsDataProcess.add(new DbmsData(DbmsData.DBMS_DATA_UNIT_SYST_STTS, insHs, this.unitSystStts));
+            this.dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_UNIT_SYST_STTS, insHs, this.unitSystStts));
             if (insHs) {
                 loadMaster();
             }

+ 2 - 1
src/main/java/com/its/vds/service/VdsCtlrService.java

@@ -11,6 +11,7 @@ import com.its.vds.entity.TbVdsDtct;
 import com.its.vds.global.AppRepository;
 import com.its.vds.process.DbmsData;
 import com.its.vds.process.DbmsDataProcess;
+import com.its.vds.process.DbmsDataType;
 import com.its.vds.xnettcp.vds.protocol.VdsReqRTC;
 import com.its.vds.xnetudp.protocol.CENTER_VDS_RES_STATE;
 import com.its.vds.xnetudp.protocol.voVdsState;
@@ -193,7 +194,7 @@ public class VdsCtlrService {
         // 제어기 상태정보 DB 업데이트
         if (ctlrSttsList.size() > 0) {
             DbmsDataProcess dbmsDataProcess = (DbmsDataProcess) AppUtils.getBean(DbmsDataProcess.class);
-            dbmsDataProcess.add(new DbmsData(DbmsData.DBMS_DATA_CTLR_STTS, insHs, ctlrSttsList));
+            dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_CTLR_STTS, insHs, ctlrSttsList));
         }
 
         stts.setTotal((short)(normal+error));

+ 2 - 1
src/main/java/com/its/vds/xnettcp/vds/process/Job_Data.java

@@ -7,6 +7,7 @@ import com.its.vds.entity.TbVdsDtct;
 import com.its.vds.entity.voVdsDtctClct;
 import com.its.vds.process.DbmsData;
 import com.its.vds.process.DbmsDataProcess;
+import com.its.vds.process.DbmsDataType;
 import com.its.vds.ui.MainUI;
 import com.its.vds.xnettcp.vds.protocol.VdsResFramePacket;
 import lombok.RequiredArgsConstructor;
@@ -131,7 +132,7 @@ public class Job_Data implements JobProtocol {
 
 		DbmsDataProcess dbmsDataProcess = (DbmsDataProcess) AppUtils.getBean(DbmsDataProcess.class);
 		if (dtctClctList.size() > 0) {
-			dbmsDataProcess.add(new DbmsData(DbmsData.DBMS_DATA_DTCT_CLCT, false, dtctClctList));
+			dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_DTCT_CLCT, false, dtctClctList));
 		}
 
 		MainUI mainUI = MainUI.getInstance();

+ 2 - 1
src/main/java/com/its/vds/xnetudp/service/CenterCommResponseService.java

@@ -5,6 +5,7 @@ import com.its.vds.entity.TbVdsCtlr;
 import com.its.vds.entity.TbVdsCtlrStts;
 import com.its.vds.process.DbmsData;
 import com.its.vds.process.DbmsDataProcess;
+import com.its.vds.process.DbmsDataType;
 import com.its.vds.xnetudp.protocol.CENTER_VDS_RES_STATE;
 import com.its.vds.xnetudp.protocol.voVdsState;
 import lombok.extern.slf4j.Slf4j;
@@ -36,7 +37,7 @@ public class CenterCommResponseService {
         // 제어기 상태정보 DB 업데이트
         DbmsDataProcess dbmsDataProcess = (DbmsDataProcess) AppUtils.getBean(DbmsDataProcess.class);
         if (ctlrSttsList.size() > 0) {
-            dbmsDataProcess.add(new DbmsData(DbmsData.DBMS_DATA_CTLR_STTS, false, ctlrSttsList));
+            dbmsDataProcess.add(new DbmsData(DbmsDataType.DBMS_DATA_CTLR_STTS, false, ctlrSttsList));
         }
 
         // 제어기상태정보 UDP 전송(모든 운영단말로 전송)