|
@@ -8,10 +8,8 @@ import com.aliyun.iot.as.bridge.core.config.BridgeConfigConsts;
|
|
|
import com.aliyun.iot.as.bridge.core.handler.DownlinkChannelHandler;
|
|
import com.aliyun.iot.as.bridge.core.handler.DownlinkChannelHandler;
|
|
|
import com.aliyun.iot.as.bridge.core.model.PopClientConfiguration;
|
|
import com.aliyun.iot.as.bridge.core.model.PopClientConfiguration;
|
|
|
import com.aliyun.iot.as.bridge.core.model.Session;
|
|
import com.aliyun.iot.as.bridge.core.model.Session;
|
|
|
-import com.aliyun.openservices.iot.api.exception.IotClientException;
|
|
|
|
|
import lombok.*;
|
|
import lombok.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.hswebframework.web.exception.BusinessException;
|
|
|
|
|
import org.jetlinks.community.bridge.core.DefaultBridgeBootstrap;
|
|
import org.jetlinks.community.bridge.core.DefaultBridgeBootstrap;
|
|
|
import org.jetlinks.community.bridge.core.DefaultBridgeConfigManager;
|
|
import org.jetlinks.community.bridge.core.DefaultBridgeConfigManager;
|
|
|
import org.jetlinks.community.bridge.core.DefaultDeviceConfigManager;
|
|
import org.jetlinks.community.bridge.core.DefaultDeviceConfigManager;
|
|
@@ -103,7 +101,7 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
|
|
|
getClusterOperationTopic().publish(Mono.just(OperationMessage.builder().param(params).init(true).build())).subscribe();
|
|
getClusterOperationTopic().publish(Mono.just(OperationMessage.builder().param(params).init(true).build())).subscribe();
|
|
|
}
|
|
}
|
|
|
//非主节点、非运行状态、已启动
|
|
//非主节点、非运行状态、已启动
|
|
|
- if(isReplica()||!BridgeStatus.running.equals(params.getState())||start.get()){
|
|
|
|
|
|
|
+ if(isReplica()||(!BridgeStatus.running.equals(params.getState())&&!BridgeStatus.starting.equals(params.getState()))||start.get()){
|
|
|
return Mono.just(this);
|
|
return Mono.just(this);
|
|
|
}
|
|
}
|
|
|
if (start.compareAndSet(false, true)) {
|
|
if (start.compareAndSet(false, true)) {
|
|
@@ -125,6 +123,8 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
})
|
|
})
|
|
|
|
|
+ .flatMap(ignore->bridgeService.createUpdate().set(AliIotBridgeEntity::getState,BridgeStatus.running)
|
|
|
|
|
+ .where(AliIotBridgeEntity::getId,id).execute())
|
|
|
.onErrorResume(RuntimeException.class,
|
|
.onErrorResume(RuntimeException.class,
|
|
|
e->Mono.just(isReplica())
|
|
e->Mono.just(isReplica())
|
|
|
.filter(Boolean.FALSE::equals)
|
|
.filter(Boolean.FALSE::equals)
|
|
@@ -352,6 +352,8 @@ public class AliBridgeServer extends AbstractClusterUniqueTask<AliBridgeServer>
|
|
|
return bridgeGateway.delBridgeServer(id,broadcast);
|
|
return bridgeGateway.delBridgeServer(id,broadcast);
|
|
|
case stop:
|
|
case stop:
|
|
|
return bridgeGateway.pauseBridge(id,broadcast);
|
|
return bridgeGateway.pauseBridge(id,broadcast);
|
|
|
|
|
+ case starting:
|
|
|
|
|
+ return bridgeGateway.initBridge(params,broadcast);
|
|
|
case running:
|
|
case running:
|
|
|
return bridgeGateway.initBridge(params,broadcast);
|
|
return bridgeGateway.initBridge(params,broadcast);
|
|
|
case fail:
|
|
case fail:
|