| 
					
				 | 
			
			
				@@ -23,24 +23,36 @@ public class SipSubscribe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private Map<String, SipSubscribe.Event> okSubscribes = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    private Map<String, Date> timeSubscribes = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Date> okTimeSubscribes = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private Map<String, Date> errorTimeSubscribes = new ConcurrentHashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//    @Scheduled(cron="*/5 * * * * ?")   //每五秒执行一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    //    @Scheduled(cron="*/5 * * * * ?")   //每五秒执行一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //    @Scheduled(fixedRate= 100 * 60 * 60 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    @Scheduled(cron="0 0 * * * ?")   //每小时执行一次, 每个整点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Scheduled(cron="0 0/5 * * * ?")   //每5分钟执行一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void execute(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.info("[定时任务] 清理过期的订阅信息"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Calendar calendar = Calendar.getInstance(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         calendar.setTime(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        calendar.set(Calendar.HOUR, calendar.get(Calendar.HOUR) - 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        for (String key : timeSubscribes.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (timeSubscribes.get(key).before(calendar.getTime())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                logger.info("[定时任务] 清理过期的订阅信息: {}", key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                errorSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        calendar.set(Calendar.MINUTE, calendar.get(Calendar.MINUTE) - 5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String key : okTimeSubscribes.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (okTimeSubscribes.get(key).before(calendar.getTime())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                logger.info("[定时任务] 清理过期的订阅信息: {}", key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 okSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                timeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                okTimeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (String key : errorTimeSubscribes.keySet()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (errorTimeSubscribes.get(key).before(calendar.getTime())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//                logger.info("[定时任务] 清理过期的订阅信息: {}", key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                errorTimeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("okTimeSubscribes.size:{}",okTimeSubscribes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("okSubscribes.size:{}",okSubscribes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("errorTimeSubscribes.size:{}",errorTimeSubscribes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        logger.info("errorSubscribes.size:{}",errorSubscribes.size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public interface Event { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,12 +117,12 @@ public class SipSubscribe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void addErrorSubscribe(String key, SipSubscribe.Event event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         errorSubscribes.put(key, event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        timeSubscribes.put(key, new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        errorTimeSubscribes.put(key, new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void addOkSubscribe(String key, SipSubscribe.Event event) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         okSubscribes.put(key, event); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        timeSubscribes.put(key, new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        okTimeSubscribes.put(key, new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public SipSubscribe.Event getErrorSubscribe(String key) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -119,7 +131,7 @@ public class SipSubscribe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void removeErrorSubscribe(String key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         errorSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        timeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        errorTimeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public SipSubscribe.Event getOkSubscribe(String key) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -128,7 +140,7 @@ public class SipSubscribe { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void removeOkSubscribe(String key) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         okSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        timeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        okTimeSubscribes.remove(key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public int getErrorSubscribesSize(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return errorSubscribes.size(); 
			 |