Selaa lähdekoodia

add 设置网桥初始值

18339543638 4 vuotta sitten
vanhempi
commit
06cfbe06be

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

@@ -54,7 +54,7 @@ public class AliBridgeGateway extends ClusterService<AliIotBridgeEntity> {
         this.registry = registry;
         this.eventBus=eventBus;
         this.messageHandler = messageHandler;
-        
+
         this.handleClusterMsg()
             .flatMap(replaceMsg->
                 replaceBridgeServer(replaceMsg,false)
@@ -89,7 +89,7 @@ public class AliBridgeGateway extends ClusterService<AliIotBridgeEntity> {
         return lookUpServer(resource.getId())
             .flatMap(server -> server.refreshBootStrap(resource,broadcast))
             .switchIfEmpty(
-                AliBridgeServerFactory.create(eventBus,registry,resource,broadcast)
+                Mono.just(new AliBridgeServer(eventBus,registry,resource))
                     .doOnNext(server -> refreshServer(resource.getId(),server))
                     .flatMap(server -> server.initBridge(resource,broadcast))
                     .doOnNext(server->{
@@ -112,10 +112,13 @@ public class AliBridgeGateway extends ClusterService<AliIotBridgeEntity> {
 
 
     public Mono<AliBridgeServer> replaceBridgeServer(AliIotBridgeEntity bridge,boolean broadcast){
-        return Mono.zip(Mono.just(broadcast)
-            .filter(Boolean.TRUE::equals)
-            .flatMap(ignore->sendClusterMsg(bridge)),initBridge(bridge,broadcast))
-            .then(lookUpServer(bridge.getId()));
+        return broadcast?Mono.zip(sendClusterMsg(bridge),initBridge(bridge,broadcast)) .then(lookUpServer(bridge.getId()))
+            :initBridge(bridge,broadcast).then(lookUpServer(bridge.getId()));
+//        return Mono.zip(Mono.just(broadcast)
+//                .filter(Boolean.TRUE::equals)
+//                .flatMap(ignore->sendClusterMsg(bridge)),
+//            initBridge(bridge,broadcast))
+//            .then(lookUpServer(bridge.getId()));
     }
 
 

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

@@ -198,7 +198,7 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
                     .deviceName(deviceName)
                     .deviceSecret(deviceSecret)
                     .productId(productId)
-                    .register(true))).then(Mono.empty()).subscribe();
+                    .register(true).build())).then(Mono.empty()).subscribe();
         }
         if(isReplica()){
             return Mono.empty();
@@ -235,7 +235,7 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
                     .publish(Mono.just(
                         OperationMessage.builder()
                             .originalIdentity(originalIdentity)
-                            .unRegister(true))).then(Mono.empty()).subscribe();
+                            .unRegister(true).build())).then(Mono.empty()).subscribe();
             }
             if(!isReplica()&&channel!=null){
                 channel.close();

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

@@ -1,26 +0,0 @@
-package org.jetlinks.community.bridge.server.aliyun;
-
-import org.jetlinks.community.bridge.entity.AliIotBridgeEntity;
-import org.jetlinks.core.device.DeviceRegistry;
-import org.jetlinks.core.event.EventBus;
-import reactor.core.publisher.Mono;
-
-/**
- * @author lifang
- * @version 1.0.0
- * @ClassName AliBridgeServerFactory.java
- * @Description
- * @createTime 2021年12月10日 08:40:00
- */
-public class AliBridgeServerFactory {
-
-
-    public static Mono<AliBridgeServer> create(EventBus eventBus, DeviceRegistry deviceRegistry, AliIotBridgeEntity bridge) {
-        return  create(eventBus,deviceRegistry,bridge,true);
-    }
-
-
-    public static Mono<AliBridgeServer> create(EventBus eventBus, DeviceRegistry deviceRegistry, AliIotBridgeEntity bridge,boolean broadcast) {
-        return  Mono.just( new AliBridgeServer(eventBus,deviceRegistry,bridge));
-    }
-}