소스 검색

fix 媒体设备集群下线监听

18339543638 3 년 전
부모
커밋
8c9fde07f8
1개의 변경된 파일4개의 추가작업 그리고 1개의 파일을 삭제
  1. 4 1
      jetlinks-manager/media-manager/src/main/java/org/jetlinks/community/media/service/LocalMediaDeviceService.java

+ 4 - 1
jetlinks-manager/media-manager/src/main/java/org/jetlinks/community/media/service/LocalMediaDeviceService.java

@@ -74,7 +74,8 @@ public class LocalMediaDeviceService extends GenericReactiveCrudService<MediaDev
 
     @Subscribe("/media/device/*/*/register")
     public void register(MediaDevice mediaDevice){
-        //注册设备
+        //注册设备 将在线设备信息添加到redis中
+        redisUtil.sSet("session_"+this.serverId,mediaDevice.getId());
         this.updateById(mediaDevice.getId(),mediaDevice)
             .filter(count->count==0)
             .flatMap(ignore->save(mediaDevice))
@@ -127,6 +128,7 @@ public class LocalMediaDeviceService extends GenericReactiveCrudService<MediaDev
      */
     public void deviceOffline(MediaDevice mediaDevice){
         //取消注册媒体设备
+        redisUtil.setRemove("session_"+this.serverId,mediaDevice.getId());
         redisCacheStorage.removeDevice(mediaDevice.getId());
         this.createUpdate()
             .where(MediaDevice::getId,mediaDevice.getId())
@@ -150,6 +152,7 @@ public class LocalMediaDeviceService extends GenericReactiveCrudService<MediaDev
     @Subscribe("/media/device/*/*/unregister")
     public void unRegister(MediaDevice mediaDevice){
         //取消注册媒体设备
+        redisUtil.setRemove("session_"+this.serverId,mediaDevice.getId());
         DeviceSession session = sessionManager.unregister(mediaDevice.getId());
         if(session!=null){
             session.close();