diff --git a/jetlinks-components/configure-component/src/main/java/org/jetlinks/community/configure/device/PersistenceDeviceSessionManager.java b/jetlinks-components/configure-component/src/main/java/org/jetlinks/community/configure/device/PersistenceDeviceSessionManager.java index d986c04b..e8719cfd 100644 --- a/jetlinks-components/configure-component/src/main/java/org/jetlinks/community/configure/device/PersistenceDeviceSessionManager.java +++ b/jetlinks-components/configure-component/src/main/java/org/jetlinks/community/configure/device/PersistenceDeviceSessionManager.java @@ -138,11 +138,14 @@ public class PersistenceDeviceSessionManager extends ClusterDeviceSessionManager } Mono resumeSession(PersistentSessionEntity entity) { - return entity + return entity .toSession(registry.get()) .doOnNext(session -> { log.debug("resume session[{}]", session.getDeviceId()); - localSessions.putIfAbsent(session.getDeviceId(), Mono.just(session)); + localSessions.putIfAbsent(session.getDeviceId(), + new DeviceSessionRef(session.getDeviceId(), + this, + session)); }) .onErrorResume((err) -> { log.debug("resume session[{}] error", entity.getDeviceId(), err);