18339543638 пре 4 година
родитељ
комит
f444ed25e9

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

@@ -89,6 +89,7 @@ public class AliBridgeGateway{
                             .flatMap(this::decodeAndHandleMessage)
                             .flatMap(this::decodeAndHandleMessage)
                             .subscribe();
                             .subscribe();
                     })
                     })
+                    .flatMap(server -> server.refreshAllChannel().thenReturn(server))
                     .onErrorResume(error->
                     .onErrorResume(error->
                         Mono.error(()->{
                         Mono.error(()->{
                             this.delBridgeServer(
                             this.delBridgeServer(
@@ -96,7 +97,6 @@ public class AliBridgeGateway{
                             return new BusinessException(error.getMessage());
                             return new BusinessException(error.getMessage());
                         }))
                         }))
             )
             )
-
             .flatMap(AliBridgeServer::refreshAllChannel);
             .flatMap(AliBridgeServer::refreshAllChannel);
     }
     }
 
 

+ 3 - 5
jetlinks-manager/bridge-manager/src/main/java/org/jetlinks/community/bridge/server/aliyun/AliBridgeServer.java

@@ -87,10 +87,8 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
         verify(params);
         verify(params);
         refreshBridgeConfig(params);
         refreshBridgeConfig(params);
         params.setDeviceName(bridgeConfigManager.getDeviceName());
         params.setDeviceName(bridgeConfigManager.getDeviceName());
-        if(start.get()){
-            if(bootstrap.isBridgeConnected()){
-                bootstrap.disconnectBridge();
-            }
+        if(bootstrap!=null&&bootstrap.isBridgeConnected()){
+            bootstrap.disconnectBridge();
             start.set(false);
             start.set(false);
         }
         }
         bootstrap=new DefaultBridgeBootstrap(params.getId(),bridgeConfigManager);
         bootstrap=new DefaultBridgeBootstrap(params.getId(),bridgeConfigManager);
@@ -183,7 +181,7 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
         DefaultDeviceConfigManager.register(bridgeId,originalIdentity,productKey,deviceName,deviceSecret);
         DefaultDeviceConfigManager.register(bridgeId,originalIdentity,productKey,deviceName,deviceSecret);
         DefaultUplinkChannelHandler uplinkChannelHandler = new DefaultUplinkChannelHandler(bridgeConfigManager, DefaultDeviceConfigManager.getInstance());
         DefaultUplinkChannelHandler uplinkChannelHandler = new DefaultUplinkChannelHandler(bridgeConfigManager, DefaultDeviceConfigManager.getInstance());
         channelMap
         channelMap
-            .putIfAbsent(originalIdentity, new DefaultAliBridgeChannel(originalIdentity, productKey, deviceName,deviceSecret, uplinkChannelHandler, deviceRegistry, eventBus));
+            .put(originalIdentity, new DefaultAliBridgeChannel(originalIdentity, productKey, deviceName,deviceSecret, uplinkChannelHandler, deviceRegistry, eventBus));
 
 
         if(broadcast){
         if(broadcast){
             getClusterOperationTopic()
             getClusterOperationTopic()