Ver código fonte

fixed 集群网桥

18339543638 4 anos atrás
pai
commit
4690a3bdff

+ 0 - 4
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/core/DefaultBridgeConfigManager.java

@@ -74,10 +74,6 @@ public class DefaultBridgeConfigManager implements BridgeConfigManager {
         this.popConfiguration = popConfiguration;
     }
 
-    public void setBridgeDeviceName(String bridgeDeviceName) {
-        this.bridgeDeviceName = bridgeDeviceName;
-    }
-
     private static String createMacId(String id){
         String result="%s%s-%s%s-%s%s-%s%s-%s%s-%s%s";
         String[] params=new String[12];

+ 1 - 0
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/core/DefaultHttp2MessageClientFactory.java

@@ -157,6 +157,7 @@ public class DefaultHttp2MessageClientFactory {
             client.disconnect();
             client = null;
         }
+
     }
 
     public static boolean isConnected(DefaultBridgeBootstrap bridgeBootstrap) {

+ 2 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/core/DefaultIoTServiceClient.java

@@ -67,7 +67,7 @@ public class DefaultIoTServiceClient {
 		message.setPayload(requestString.getBytes());
 		
 		String bridgeProductKey = this.bridgeConfigManager.getBridgeProductKey();
-		String bridgeDeviceName = this.bridgeConfigManager.getMacAddress();
+		String bridgeDeviceName = this.bridgeConfigManager.getBridgeDeviceName();
 		String requestTopic = String.format(topicTemplate, 
 				bridgeProductKey, bridgeDeviceName);
 		
@@ -108,7 +108,7 @@ public class DefaultIoTServiceClient {
 		message.setPayload(requestString.getBytes());
 
 		String bridgeProductKey = this.bridgeConfigManager.getBridgeProductKey();
-		String bridgeDeviceName = this.bridgeConfigManager.getMacAddress();
+		String bridgeDeviceName = this.bridgeConfigManager.getBridgeDeviceName();
 		String requestTopic = String.format(topicTemplate,
 			bridgeProductKey, bridgeDeviceName);
 

+ 2 - 1
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeGateway.java

@@ -81,6 +81,7 @@ public class AliBridgeGateway{
             .switchIfEmpty(
                 AliBridgeServerFactory.create(eventBus,registry,resource,broadcast)
                     .doOnNext(server -> refreshServer(resource.getId(),server))
+                    .flatMap(server -> server.initBridge(resource,broadcast))
                     .doOnNext(server->{
                         server.handleReceive()
                             .parallel()
@@ -95,7 +96,7 @@ public class AliBridgeGateway{
                             return new BusinessException(error.getMessage());
                         }))
             )
-            .flatMap(server -> server.initBridge(resource,broadcast))
+
             .flatMap(AliBridgeServer::refreshAllChannel);
     }
 

+ 6 - 0
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeServer.java

@@ -87,6 +87,12 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
         verify(params);
         refreshBridgeConfig(params);
         params.setDeviceName(bridgeConfigManager.getDeviceName());
+        if(start.get()){
+            if(bootstrap.isBridgeConnected()){
+                bootstrap.disconnectBridge();
+            }
+            start.set(false);
+        }
         bootstrap=new DefaultBridgeBootstrap(params.getId(),bridgeConfigManager);
         if(broadcast){
             //发送广播消息

+ 0 - 2
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeServerFactory.java

@@ -22,7 +22,5 @@ public class AliBridgeServerFactory {
 
     public static Mono<AliBridgeServer> create(EventBus eventBus, DeviceRegistry deviceRegistry, AliIotBridgeEntity bridge,boolean broadcast) {
         return  Mono.just( new AliBridgeServer(eventBus,deviceRegistry,bridge.getId()));
-//            .flatMap(server->server.initBridge(bridge,broadcast))
-//            .thenReturn(aliBridgeServer);
     }
 }