Commit e66b83965943e8471d5e2fb616899e0c8271e840

Authored by ydpd
1 parent 298d104f

修改内存泄露

src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java
... ... @@ -23,7 +23,8 @@ public class SipSubscribe {
23 23  
24 24 private Map<String, SipSubscribe.Event> okSubscribes = new ConcurrentHashMap<>();
25 25  
26   - private Map<String, Date> timeSubscribes = new ConcurrentHashMap<>();
  26 + private Map<String, Date> okTimeSubscribes = new ConcurrentHashMap<>();
  27 + private Map<String, Date> errorTimeSubscribes = new ConcurrentHashMap<>();
27 28  
28 29 // @Scheduled(cron="*/5 * * * * ?") //每五秒执行一次
29 30 // @Scheduled(fixedRate= 100 * 60 * 60 )
... ... @@ -33,14 +34,24 @@ public class SipSubscribe {
33 34 Calendar calendar = Calendar.getInstance();
34 35 calendar.setTime(new Date());
35 36 calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) - 1);
36   - for (String key : timeSubscribes.keySet()) {
37   - if (timeSubscribes.get(key).before(calendar.getTime())){
  37 + for (String key : okTimeSubscribes.keySet()) {
  38 + if (okTimeSubscribes.get(key).before(calendar.getTime())){
38 39 logger.info("[定时任务] 清理过期的订阅信息: {}", key);
39   - errorSubscribes.remove(key);
40 40 okSubscribes.remove(key);
41   - timeSubscribes.remove(key);
  41 + okTimeSubscribes.remove(key);
  42 + }
  43 + }
  44 + for (String key : errorTimeSubscribes.keySet()) {
  45 + if (errorTimeSubscribes.get(key).before(calendar.getTime())){
  46 + logger.info("[定时任务] 清理过期的订阅信息: {}", key);
  47 + errorSubscribes.remove(key);
  48 + errorTimeSubscribes.remove(key);
42 49 }
43 50 }
  51 + logger.info("okTimeSubscribes.size:{}",okTimeSubscribes.size());
  52 + logger.info("okSubscribes.size:{}",okSubscribes.size());
  53 + logger.info("errorTimeSubscribes.size:{}",errorTimeSubscribes.size());
  54 + logger.info("errorSubscribes.size:{}",errorSubscribes.size());
44 55 }
45 56  
46 57 public interface Event {
... ...