فهرست منبع

deploy 20251126

shjung 3 هفته پیش
والد
کامیت
3c2c9c2e32

+ 0 - 4
conf/moct-utic-server.yml

@@ -1,7 +1,3 @@
-spring:
-  profiles:
-    active: dev
-
 server:
   port: 9873
 

+ 0 - 4
conf/rota-utic-client.yml

@@ -1,7 +1,3 @@
-spring:
-  profiles:
-    active: dev
-
 server:
   port: 9872
 

+ 0 - 4
conf/rota-utic-server.yml

@@ -1,7 +1,3 @@
-spring:
-  profiles:
-    active: dev
-
 server:
   port: 9871
 

+ 1 - 1
moct-utic-server/src/main/java/com/utic/its/moct/utic/server/MoctUticServerApplication.java

@@ -209,7 +209,7 @@ public class MoctUticServerApplication implements CommandLineRunner, Application
                 ProcessStateService processStateService = SpringUtils.getBean(ProcessStateService.class);
                 processStateService.processStop();
             } catch (Exception e) {
-                log.error("**    processStateService Terminated: {}", e.getMessage());
+                log.error("**    processStateService.processStop: {}", e.getMessage());
             }
 
 //            try {

+ 2 - 0
moct-utic-server/src/main/java/com/utic/its/moct/utic/server/cluster/ClusterMasterService.java

@@ -136,6 +136,8 @@ public class ClusterMasterService extends AbstractClusterMasterService {
                 // 연결이 끊어진 노드와 연결중이던 지역센터의 통신정보를 업데이트 한다.
                 if (center.getNetState().isAlive()) {
                     // 통신상태가 온라인이었다면 연결을 종료
+                    // 채널은 로컬 채널이 아니기 때문에(연결이 끊어진 클러스터에서의 채널임)
+                    // 연결 정보만 초기화 한다.
                     center.getNetState().disConnect();
                 }
                 center.setRealClusterId(0);

+ 1 - 0
moct-utic-server/src/main/java/com/utic/its/moct/utic/server/config/DatabaseConfig.java

@@ -50,6 +50,7 @@ public class DatabaseConfig {
         if (this.mapperLocations.trim().isEmpty()) {
             this.mapperLocations = "classpath:mybatis/mapper/**/*.xml";
         }
+        log.info("        jdbcUrl: {}", this.jdbcUrl);
         log.info("mapperLocations: {}", this.mapperLocations);
     }
 

+ 5 - 0
moct-utic-server/src/main/java/com/utic/its/moct/utic/server/controller/MoctUticServerRestController.java

@@ -149,6 +149,11 @@ public class MoctUticServerRestController {
             if (region == null) {
                 continue;
             }
+//            if (this.clusterConfig.isEnabled()) {
+//                if (this.clusterConfig.getId() != region.getRealClusterId()) {
+//                    continue;
+//                }
+//            }
 
             if (region.getNetState().isAlive()) {
                 region.getNetState().setConnectCount(1);

+ 6 - 5
moct-utic-server/src/main/resources/application.yml

@@ -3,9 +3,9 @@ spring:
     name: moct-utic-server
   profiles:
     active: prod
-  config:
-    import:
-      - optional:file:${user.dir}/conf/moct-utic-server.yml
+#  config:
+#    import:
+#      - optional:file:${user.dir}/conf/moct-utic-server.yml
   main:
 #    web-application-type: none
     log-startup-info: true
@@ -96,11 +96,12 @@ spring:
     activate:
       on-profile: prod
     import:
-      - optional:file:${user.dir}/conf/moct-utic-server-prod.yml
+      - optional:file:${user.dir}/conf/moct-utic-server.yml
   datasource:
     hikari:
       driver-class-name: oracle.jdbc.OracleDriver
-      jdbc-url: jdbc:oracle:thin:@(DESCRIPTION=(FAIL_OVER=ON)(LOAD_BALANCE=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.21)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.22)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=UTIS)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRY=180)(DELAY=15))))
+      #jdbc-url: jdbc:oracle:thin:@(DESCRIPTION=(FAIL_OVER=ON)(LOAD_BALANCE=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.21)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.22)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=UTIS)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRY=180)(DELAY=15))))
+      jdbc-url: jdbc:oracle:thin:@192.168.10.21:1521:UTIS
       username: section
       password: section
 

+ 1 - 1
rota-utic-client/src/main/java/com/utic/its/rota/utic/client/RotaUticClientApplication.java

@@ -214,7 +214,7 @@ public class RotaUticClientApplication implements CommandLineRunner, Application
                 ProcessStateService processStateService = SpringUtils.getBean(ProcessStateService.class);
                 processStateService.processStop();
             } catch (Exception e) {
-                log.error("**    processStateService Terminated: {}", e.getMessage());
+                log.error("**    processStateService.processStop: {}", e.getMessage());
             }
 
 //            try {

+ 46 - 1
rota-utic-client/src/main/java/com/utic/its/rota/utic/client/controller/RotaUticClientRestController.java

@@ -89,6 +89,8 @@ public class RotaUticClientRestController {
         int onLine = 0;
         int node1 = 0;
         int node2 = 0;
+        int node1Tot = 0;
+        int node2Tot = 0;
         List<String> keySet = new ArrayList<>(ApplicationRepository.CENTER_MAP.keySet());
         Collections.sort(keySet);
         for (String key : keySet) {
@@ -108,6 +110,12 @@ public class RotaUticClientRestController {
                     node2++;
                 }
             }
+            if (region.getClusterId() == 1) {
+                node1Tot++;
+            }
+            if (region.getClusterId() == 2) {
+                node2Tot++;
+            }
             DecimalFormat dF = new DecimalFormat("#,###");
             String recvTime = dF.format(region.getRecvTraffic().getRecvSeconds());
 
@@ -126,7 +134,7 @@ public class RotaUticClientRestController {
         }
         sb.append(heading).append(sep);
         sb.append(String.format("Total : %d, OnLine(Connect): %d", total, onLine)).append(sep);
-        sb.append(String.format("clusterNode1: %d, clusterNode2: %d", node1, node2)).append(sep);
+        sb.append(String.format("clusterNode1: %d/%d, clusterNode2: %d/%d", node1, node1Tot, node2, node2Tot)).append(sep);
         sb.append(heading).append(sep);
         return sb.toString();
     }
@@ -143,6 +151,38 @@ public class RotaUticClientRestController {
         return ResponseEntity.ok(result);
     }
 
+    @GetMapping(value = "/api/init/reset")
+    public ResponseEntity<?> reset() {
+        int resetCount = 0;
+        List<String> keySet = new ArrayList<>(ApplicationRepository.CENTER_MAP.keySet());
+        Collections.sort(keySet);
+        for (String key : keySet) {
+            CenterDto region = ApplicationRepository.CENTER_MAP.get(key);
+            if (region == null) {
+                continue;
+            }
+
+            if (this.clusterConfig.isEnabled()) {
+                if (region.getNetState().isAlive()) {
+                    if (this.clusterConfig.getId() != region.getRealClusterId()) {
+                        // 다른 노드에서 작업을 수행하기로 설정된 지역센터의 연결을 종료한다.
+                        try {
+                            if (region.getNetState().getChannel() != null) {
+                                region.getNetState().getChannel().disconnect();
+                                region.getNetState().getChannel().close();
+                                region.getNetState().disConnect();
+                            }
+                        } catch (Exception e) {
+                            // no logging
+                        }
+                        resetCount++;
+                    }
+                }
+            }
+        }
+        return ResponseEntity.ok("communication connect cluster reset initialized ok. cluster: " + this.clusterConfig.getId() + ", reset count: " + resetCount);
+    }
+
     @GetMapping(value = "/api/init/conn")
     public ResponseEntity<?> init() {
         List<String> keySet = new ArrayList<>(ApplicationRepository.CENTER_MAP.keySet());
@@ -152,6 +192,11 @@ public class RotaUticClientRestController {
             if (region == null) {
                 continue;
             }
+//            if (this.clusterConfig.isEnabled()) {
+//                if (this.clusterConfig.getId() != region.getRealClusterId()) {
+//                    continue;
+//                }
+//            }
 
             if (region.getNetState().isAlive()) {
                 region.getNetState().setConnectCount(1);

+ 5 - 5
rota-utic-client/src/main/resources/application.yml

@@ -3,9 +3,9 @@ spring:
     name: rota-utic-client
   profiles:
     active: prod
-  config:
-    import:
-      - optional:file:${user.dir}/conf/rota-utic-client.yml
+#  config:
+#    import:
+#      - optional:file:${user.dir}/conf/rota-utic-client.yml
   main:
 #    web-application-type: none
     log-startup-info: true
@@ -101,10 +101,10 @@ spring:
     activate:
       on-profile: prod
     import:
-      - optional:file:${user.dir}/conf/rota-utic-client-prod.yml
+      - optional:file:${user.dir}/conf/rota-utic-client.yml
   datasource:
     hikari:
       driver-class-name: oracle.jdbc.OracleDriver
-      jdbc-url: jdbc:oracle:thin:@(DESCRIPTION=(FAIL_OVER=ON)(LOAD_BALANCE=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.21)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.22)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=UTIS)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRY=180)(DELAY=15))))
+      jdbc-url: jdbc:oracle:thin:@192.168.10.21:1521:UTIS
       username: section
       password: section

+ 1 - 1
rota-utic-server/src/main/java/com/utic/its/rota/utic/server/RotaUticServerApplication.java

@@ -216,7 +216,7 @@ public class RotaUticServerApplication implements CommandLineRunner, Application
                 ProcessStateService processStateService = SpringUtils.getBean(ProcessStateService.class);
                 processStateService.processStop();
             } catch (Exception e) {
-                log.error("**    processStateService Terminated: {}", e.getMessage());
+                log.error("**    processStateService.processStop: {}", e.getMessage());
             }
 
 //            try {

+ 5 - 0
rota-utic-server/src/main/java/com/utic/its/rota/utic/server/controller/RotaUticServerRestController.java

@@ -152,6 +152,11 @@ public class RotaUticServerRestController {
             if (region == null) {
                 continue;
             }
+//            if (this.clusterConfig.isEnabled()) {
+//                if (this.clusterConfig.getId() != region.getRealClusterId()) {
+//                    continue;
+//                }
+//            }
 
             if (region.getNetState().isAlive()) {
                 region.getNetState().setConnectCount(1);

+ 5 - 5
rota-utic-server/src/main/resources/application.yml

@@ -3,9 +3,9 @@ spring:
     name: rota-utic-server
   profiles:
     active: prod
-  config:
-    import:
-      - optional:file:${user.dir}/conf/rota-utic-server.yml
+#  config:
+#    import:
+#      - optional:file:${user.dir}/conf/rota-utic-server.yml
   main:
 #    web-application-type: none
     log-startup-info: true
@@ -100,10 +100,10 @@ spring:
     activate:
       on-profile: prod
     import:
-      - optional:file:${user.dir}/conf/rota-utic-server-prod.yml
+      - optional:file:${user.dir}/conf/rota-utic-server.yml
   datasource:
     hikari:
       driver-class-name: oracle.jdbc.OracleDriver
-      jdbc-url: jdbc:oracle:thin:@(DESCRIPTION=(FAIL_OVER=ON)(LOAD_BALANCE=ON)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.21)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.22)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=UTIS)(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRY=180)(DELAY=15))))
+      jdbc-url: jdbc:oracle:thin:@192.168.10.21:1521:UTIS
       username: section
       password: section