修复循环引用
parent
2127cbeca3
commit
619a86e0ed
|
@ -24,9 +24,6 @@ public class SubscribeHolder {
|
|||
@Autowired
|
||||
private UserSetting userSetting;
|
||||
|
||||
@Autowired
|
||||
private IPlatformService platformService;
|
||||
|
||||
private final String taskOverduePrefix = "subscribe_overdue_";
|
||||
|
||||
private static ConcurrentHashMap<String, SubscribeInfo> catalogMap = new ConcurrentHashMap<>();
|
||||
|
@ -61,13 +58,11 @@ public class SubscribeHolder {
|
|||
dynamicTask.stop(taskOverdueKey);
|
||||
}
|
||||
|
||||
public void putMobilePositionSubscribe(String platformId, SubscribeInfo subscribeInfo) {
|
||||
public void putMobilePositionSubscribe(String platformId, SubscribeInfo subscribeInfo, Runnable gpsTask) {
|
||||
mobilePositionMap.put(platformId, subscribeInfo);
|
||||
String key = VideoManagerConstants.SIP_SUBSCRIBE_PREFIX + userSetting.getServerId() + "MobilePosition_" + platformId;
|
||||
// 添加任务处理GPS定时推送
|
||||
dynamicTask.startCron(key, ()->{
|
||||
platformService.sendNotifyMobilePosition(platformId);
|
||||
},
|
||||
dynamicTask.startCron(key, gpsTask,
|
||||
subscribeInfo.getGpsInterval() * 1000);
|
||||
String taskOverdueKey = taskOverduePrefix + "MobilePosition_" + platformId;
|
||||
if (subscribeInfo.getExpires() > 0) {
|
||||
|
|
|
@ -147,7 +147,9 @@ public class SubscribeRequestProcessor extends SIPRequestProcessorParent impleme
|
|||
subscribeHolder.removeMobilePositionSubscribe(platformId);
|
||||
}else {
|
||||
subscribeInfo.setResponse(response);
|
||||
subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo);
|
||||
subscribeHolder.putMobilePositionSubscribe(platformId, subscribeInfo, ()->{
|
||||
platformService.sendNotifyMobilePosition(platformId);
|
||||
});
|
||||
}
|
||||
|
||||
} catch (SipException | InvalidArgumentException | ParseException e) {
|
||||
|
|
Loading…
Reference in New Issue