朱俊杰
3 years ago
5 changed files with 84 additions and 1 deletions
@ -0,0 +1,24 @@ |
|||
package com.genersoft.iot.vmp.gb28181.event.platformNotRegister; |
|||
|
|||
import org.springframework.context.ApplicationEvent; |
|||
|
|||
public class PlatformCycleRegisterEvent extends ApplicationEvent { |
|||
/** |
|||
* Add default serial version ID |
|||
*/ |
|||
private static final long serialVersionUID = 1L; |
|||
|
|||
private String platformGbID; |
|||
|
|||
public String getPlatformGbID() { |
|||
return platformGbID; |
|||
} |
|||
|
|||
public void setPlatformGbID(String platformGbID) { |
|||
this.platformGbID = platformGbID; |
|||
} |
|||
|
|||
public PlatformCycleRegisterEvent(Object source) { |
|||
super(source); |
|||
} |
|||
} |
@ -0,0 +1,44 @@ |
|||
package com.genersoft.iot.vmp.gb28181.event.platformNotRegister; |
|||
|
|||
import com.genersoft.iot.vmp.gb28181.bean.ParentPlatform; |
|||
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe; |
|||
import com.genersoft.iot.vmp.gb28181.transmit.cmd.ISIPCommanderForPlatform; |
|||
import com.genersoft.iot.vmp.storager.IVideoManagerStorager; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.context.ApplicationListener; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.Timer; |
|||
import java.util.TimerTask; |
|||
|
|||
@Slf4j |
|||
@Component |
|||
public class PlatformCycleRegisterEventLister implements ApplicationListener<PlatformCycleRegisterEvent> { |
|||
@Autowired |
|||
private IVideoManagerStorager storager; |
|||
@Autowired |
|||
private ISIPCommanderForPlatform sipCommanderFroPlatform; |
|||
|
|||
@Override |
|||
public void onApplicationEvent(PlatformCycleRegisterEvent event) { |
|||
log.info("上级平台周期注册事件"); |
|||
ParentPlatform parentPlatform = storager.queryParentPlatByServerGBId(event.getPlatformGbID()); |
|||
if (parentPlatform == null) { |
|||
log.info("[ 平台未注册事件 ] 平台已经删除!!! 平台国标ID:" + event.getPlatformGbID()); |
|||
return; |
|||
} |
|||
Timer timer = new Timer(); |
|||
SipSubscribe.Event okEvent = (responseEvent)->{ |
|||
timer.cancel(); |
|||
}; |
|||
sipCommanderFroPlatform.register(parentPlatform, null, okEvent); |
|||
timer.schedule(new TimerTask() { |
|||
@Override |
|||
public void run() { |
|||
log.info("[平台注册]再次向平台注册,平台国标ID:" + event.getPlatformGbID()); |
|||
sipCommanderFroPlatform.register(parentPlatform, null, okEvent); |
|||
} |
|||
}, 15*1000 ,Long.parseLong(parentPlatform.getExpires())* 1000); |
|||
} |
|||
} |
Loading…
Reference in new issue