Pārlūkot izejas kodu

修复设备未注册时,无法转发消息的问题

zhou-hao 4 gadi atpakaļ
vecāks
revīzija
eef9590e20

+ 2 - 2
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/message/DeviceMessageConnector.java

@@ -44,7 +44,7 @@ public class DeviceMessageConnector{
                                   DeviceRegistry registry) {
         this.registry = registry;
         this.eventBus = eventBus;
-        this.configGetter = operator -> operator.getSelfConfigs(appendConfigHeader).defaultIfEmpty(emptyValues);
+        this.configGetter = operator -> operator.getSelfConfigs(appendConfigHeader);
     }
 
     public Mono<Void> onMessage(Message message) {
@@ -67,8 +67,8 @@ public class DeviceMessageConnector{
             }
             return registry
                 .getDevice(deviceId)
-                //获取设备配置是可能存在的性能瓶颈
                 .flatMap(configGetter)
+                .defaultIfEmpty(emptyValues)
                 .flatMap(configs -> {
                     configs.getAllValues().forEach(deviceMessage::addHeader);
                     String productId = deviceMessage.getHeader("productId").map(String::valueOf).orElse("null");