Przeglądaj źródła

连接备用服务器策略

kk 3 miesięcy temu
rodzic
commit
646e84a827

+ 1 - 1
game-business/src/main/java/com/game/business/config/GameOneConfig.java

@@ -16,7 +16,7 @@ public class GameOneConfig implements CommandLineRunner {
     @Override
     @Async
     public void run(String... args) throws Exception {
-        webSocketConnent = new WebSocketConnent(Common.WS_GAME_ONE_URL, Common.GANME_ONE_NAME);
+        webSocketConnent = new WebSocketConnent(Common.WS_GAME_ONE_URL, Common.WS_GAME_ONE_REMARK_URL, Common.GANME_ONE_NAME);
         webSocketConnent.connect();
     }
 }

+ 1 - 1
game-business/src/main/java/com/game/business/config/GameTwoConfig.java

@@ -16,7 +16,7 @@ public class GameTwoConfig implements CommandLineRunner {
     @Override
     @Async
     public void run(String... args) throws Exception {
-        webSocketConnent = new WebSocketConnent(Common.WS_GAME_TWO_URL, Common.GANME_TWO_NAME);
+        webSocketConnent = new WebSocketConnent(Common.WS_GAME_TWO_URL, Common.WS_GAME_TWO_REMARK_URL, Common.GANME_TWO_NAME);
         webSocketConnent.connect();
     }
 }

+ 4 - 1
game-business/src/main/java/com/game/business/util/Common.java

@@ -6,8 +6,11 @@ public class Common {
     public static final String GAME_ONE_CODE = "1";
     public static final String GANME_TWO_NAME = "two";
     public static final String GAME_TWO_CODE = "2";
-    public static final String GANME_THREES_NAME = "";
+    public static final String GANME_THREES_NAME = "threes";
+    public static final String GANME_THREES_CODE = "3";
 
     public static final String WS_GAME_ONE_URL = "ws://47.115.49.14:8000/ws";
+    public static final String WS_GAME_ONE_REMARK_URL = "ws://47.238.102.31:8000/ws";
     public static final String WS_GAME_TWO_URL = "ws://47.115.54.173:8000/ws";
+    public static final String WS_GAME_TWO_REMARK_URL = "ws://47.115.54.173:8000/ws";
 }

+ 21 - 4
game-business/src/main/java/com/game/business/websocket/WebSocketConnent.java

@@ -6,6 +6,7 @@ import com.game.business.config.SpringContextSetting;
 import com.game.business.util.Common;
 import com.game.business.websocket.client.GameOneClient;
 import com.game.business.websocket.client.GameTwoClient;
+import org.apache.commons.lang3.StringUtils;
 
 import javax.websocket.ContainerProvider;
 import java.net.URI;
@@ -13,12 +14,17 @@ import java.net.URI;
 public class WebSocketConnent {
 
     private String WS_URL;
+    private String WS_REMARK_URL;
+    private String WS_NOW_URL;
     private String WS_URL_NAME;
     private int WS_CONNENT_NUM = 0;
     private int WS_CONNENT_MAX_NUM = 10;
 
-    public WebSocketConnent(String WS_URL, String WS_URL_NAME){
+
+
+    public WebSocketConnent(String WS_URL, String WS_REMARK_URL, String WS_URL_NAME){
         this.WS_URL = WS_URL;
+        this.WS_REMARK_URL = WS_REMARK_URL;
         this.WS_URL_NAME = WS_URL_NAME;
     }
 
@@ -26,17 +32,28 @@ public class WebSocketConnent {
         while (true){
             try {
                 System.out.println("正在" + (this.WS_CONNENT_NUM == 0 ? "" : ("第" + this.WS_CONNENT_NUM + "次")) + "连接WebSocket[" + this.WS_URL_NAME + "]......");
+
+                if(StringUtils.isBlank(WS_NOW_URL)){
+                    WS_NOW_URL = WS_URL;
+                }else{
+                    if(WS_NOW_URL.equals(WS_URL)){
+                        WS_NOW_URL = WS_REMARK_URL;
+                    }else{
+                        WS_NOW_URL = WS_URL;
+                    }
+                }
+
                 if(Common.GANME_ONE_NAME.equals(this.WS_URL_NAME)){
                     GameOneClient client = SpringContextSetting.getBean(GameOneClient.class);
-                    ContainerProvider.getWebSocketContainer().connectToServer(client, new URI(this.WS_URL));
+                    ContainerProvider.getWebSocketContainer().connectToServer(client, new URI(this.WS_NOW_URL));
                 }
 
                 if(Common.GANME_TWO_NAME.equals(this.WS_URL_NAME)){
                     GameTwoClient client = SpringContextSetting.getBean(GameTwoClient.class);
-                    ContainerProvider.getWebSocketContainer().connectToServer(client, new URI(this.WS_URL));
+                    ContainerProvider.getWebSocketContainer().connectToServer(client, new URI(this.WS_NOW_URL));
                 }
 
-                System.out.println(this.WS_URL_NAME + " 已成功连接Websocket[" + this.WS_URL + "]");
+                System.out.println(this.WS_URL_NAME + " 已成功连接Websocket[" + this.WS_NOW_URL + "]");
                 this.WS_CONNENT_NUM = 0;
                 break;
             }catch (Exception e){