From a20bfe9206d3595504dddc37d6bd602f5710e3f4 Mon Sep 17 00:00:00 2001 From: "udf_admin@163.com" Date: Tue, 2 Jan 2018 00:03:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BC=82=E5=B8=B8=E9=80=9A?= =?UTF-8?q?=E7=9F=A5=E7=9A=84=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../udf/exception/alert/ExceptionAlert.java | 46 +++++++++++++------ 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/udf-starter-exception-alert/src/main/java/org/itkk/udf/exception/alert/ExceptionAlert.java b/udf-starter-exception-alert/src/main/java/org/itkk/udf/exception/alert/ExceptionAlert.java index 4baa96b..4c600e2 100644 --- a/udf-starter-exception-alert/src/main/java/org/itkk/udf/exception/alert/ExceptionAlert.java +++ b/udf-starter-exception-alert/src/main/java/org/itkk/udf/exception/alert/ExceptionAlert.java @@ -51,11 +51,37 @@ public class ExceptionAlert implements IExceptionAlert { private Rabbitmq rabbitmq; @Override - public void alert(RestResponse errorResponse) { //NOSONAR + public void alert(RestResponse errorResponse) { //开关打开,才进行异常信息发送 if (exceptionAlertProperties.getEnable()) { //发送消息标志位 - boolean sendFlg = true; + Boolean sendFlg = true; + //判断 + sendFlg = this.checkExclude(sendFlg, errorResponse); + //发送消息 + if (sendFlg) { + //构造消息头 + Map header = new HashMap<>(); + header.put("springApplicationName", springApplicationName); + header.put("port", String.valueOf(port)); + header.put("profiles", profiles); + //构造消息 + RabbitmqMessage> alert = new RabbitmqMessage<>(header, errorResponse); + //发送消息 + rabbitmq.convertAndSend(ExceptionAlertConstant.EXCHANGE_EXCEPTION_ALERT.class.getSimpleName(), ExceptionAlertConstant.EXCHANGE_EXCEPTION_ALERT.ALERT.name(), alert); + } + } + } + + /** + * checkExclude + * + * @param sendFlg sendFlg + * @param errorResponse errorResponse + * @return boolean + */ + private boolean checkExclude(Boolean sendFlg, RestResponse errorResponse) { //NOSONAR + if (errorResponse != null) { //逻辑判断 if (errorResponse.getError() == null) { //error的空判断 log.warn("errorResponse error is null"); @@ -88,19 +114,11 @@ public class ExceptionAlert implements IExceptionAlert { } } } - //发送消息 - if (sendFlg) { - //构造消息头 - Map header = new HashMap<>(); - header.put("springApplicationName", springApplicationName); - header.put("port", String.valueOf(port)); - header.put("profiles", profiles); - //构造消息 - RabbitmqMessage> alert = new RabbitmqMessage<>(header, errorResponse); - //发送消息 - rabbitmq.convertAndSend(ExceptionAlertConstant.EXCHANGE_EXCEPTION_ALERT.class.getSimpleName(), ExceptionAlertConstant.EXCHANGE_EXCEPTION_ALERT.ALERT.name(), alert); - } + //子错误 + sendFlg = checkExclude(sendFlg, errorResponse.getError().getChild()); } + //返回 + return sendFlg; } }