Browse Source

// 修复队列监听服务网络中断服务异常问题

ZIPZAP 2 years ago
parent
commit
29fa81f5cf

+ 13 - 8
mq-monitor/src/main/java/cn/com/moonspeak/rabbitmq/monitor/Application.java

@@ -44,6 +44,7 @@ public class Application {
     private static final Logger log = LoggerFactory.getLogger(Application.class);
     private static Integer inNum = 0;
     private static Integer unNum = 0;
+
     @SneakyThrows
     public static void main(String[] args) {
 //      初始化全局配置(具备自动更新能力)
@@ -67,7 +68,7 @@ public class Application {
             String request = request("/queues?page=1&page_size=100&name=1_rates&use_regex=false&pagination=true");
             if (StrUtil.isBlank(request)) {
                 sendMail("接口队列响应为空!可能出现异常,请检查!");
-                return;
+                continue;
             }
             MqQueueItemPageInfo result = JSONUtil.toBean(request, MqQueueItemPageInfo.class);
             MqQueueItemPageInfo.ItemsDTO itemsDTO = result.getItems().get(0);
@@ -79,21 +80,21 @@ public class Application {
                 // 超过阈值,清空正常情况计数
                 unNum = 0;
                 // 校验超过阈值计数
-                if (inNum < 5){
+                if (inNum < 5) {
                     inNum++;
-                }else{
-                // 超过阈值计数大于5进行预警通知
-                    if (!flag){
+                } else {
+                    // 超过阈值计数大于5进行预警通知
+                    if (!flag) {
                         flag = true;
                         sendMail(StrUtil.format("接口队列处理堆积过大,目前为{},请处理!", itemCount));
-                        log.info("接口队列处理堆积过大,目前为{},请处理!",itemCount);
+                        log.info("接口队列处理堆积过大,目前为{},请处理!", itemCount);
                     }
                 }
             } else {
                 // 开始正常情况计数
                 unNum++;
                 // 正常情况计数大于5时清空超过阈值计数
-                if (unNum > 5){
+                if (unNum > 5) {
                     inNum = 0;
                     flag = false;
                 }
@@ -125,7 +126,11 @@ public class Application {
      * @param content 邮件内容
      */
     public static void sendMail(String content) {
-        MailUtil.send(mails, "酒店预警邮件", content, false, null);
+        try {
+            MailUtil.send(mails, "酒店预警邮件", content, false, null);
+        } catch (Exception e) {
+            log.error("网络中断!目前为{}!", content);
+        }
     }
 
     /**