From 3093fe69d0a0449b77b128d0bcb4fdb0ce3de0cf Mon Sep 17 00:00:00 2001 From: zhouxiunai <154707516@qq.com> Date: Tue, 30 Apr 2019 17:31:56 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BF=BD=E7=95=A5=E5=A4=84?= =?UTF-8?q?=E7=90=86=E7=9A=84=E6=B6=88=E6=81=AF=E5=88=97=E8=A1=A8=E3=80=82?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E8=B7=B3=E8=BF=87=E4=B8=8D=E5=A4=84=E7=90=86?= =?UTF-8?q?=E3=80=82=E5=87=8F=E5=B0=91error=E6=97=A5=E5=BF=97=E7=9A=84?= =?UTF-8?q?=E8=AF=AF=E6=89=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../msghandler/MsgHandlerDispatcher.java | 37 ++++++++++++++++++- src/main/resources/application-dev.yml | 1 + src/main/resources/application-local.yml | 1 + src/main/resources/application-pro.yml | 1 + src/main/resources/application-test.yml | 1 + 5 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/MsgHandlerDispatcher.java b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/MsgHandlerDispatcher.java index 6302adbd..d2928c89 100644 --- a/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/MsgHandlerDispatcher.java +++ b/src/main/java/com/gzzn/omms/msgexchangeapi/msghandler/MsgHandlerDispatcher.java @@ -6,7 +6,9 @@ import java.util.Arrays; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.CminmsgWapper; @@ -24,6 +26,9 @@ public class MsgHandlerDispatcher { @Autowired ICminmsgService cminmsgService; + @Value("${msgExchange.ignoreMsg}") + private String ignoreMsg; + public HandlerResult dispatch(Cminmsg cminmsg) { try @@ -36,6 +41,11 @@ public class MsgHandlerDispatcher { String type = msg.getMETA().getTYPE().name(); String subType = msg.getMETA().getSTYP().name(); + if(!isNeedHandler(type,subType)) + { + logger.error("消息type:{},subtype:{},设置不需要处理!",type,subType); + return HandlerResult.success(); + } Class clazzHandler = Class.forName(getHandlerClassName(type,subType)); Object classObject = clazzHandler.newInstance(); @@ -43,7 +53,6 @@ public class MsgHandlerDispatcher { HandlerResult result = (HandlerResult) runMethod.invoke(classObject, cminmsgWapper); return result; } catch (Exception e) { - //throw new RuntimeException(e); try { cminmsgService.updateBatchProcessed(Arrays.asList(cminmsg));//更新为已处理 @@ -76,4 +85,30 @@ public class MsgHandlerDispatcher { return buffer.toString(); } //end function + /** + * 是否需要处理该消息 + * @param type 消息主类型 + * @param subType 消息子类型 + * @return true 需要处理 ,false 不需要处理 + */ + private boolean isNeedHandler(String type,String subType) + { + if(StringUtils.isEmpty(ignoreMsg)) + { + return true;// 所有消息均需要处理 + } + + // + String typeToken = type + "-" + subType; + String typeTokenStar = type + "-*"; + String ignoreMsgs[] = ignoreMsg.split(","); + for (String msg : ignoreMsgs) { + if(typeToken.equalsIgnoreCase(msg) || typeTokenStar.equalsIgnoreCase(msg)) + { + return false; //不需要处理的消息逻辑 + } + } + + return true; + } //end function } diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index f1d57009..75d67b23 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -55,6 +55,7 @@ kafka: msgExchange: intervalSeconds: 1 waitDateLeftOffset: 600000 + ignoreMsg: ldm-*,regn-*,rsta-*,error-* #忽略的消息列表 logstash: host: 130.120.3.234:5000 scheduled: diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 92c5dbf7..3af06709 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -55,6 +55,7 @@ kafka: msgExchange: intervalSeconds: 1 waitDateLeftOffset: 600000 + ignoreMsg: ldm-*,regn-*,rsta-*,error-* #忽略的消息列表 logstash: host: 130.120.3.234:5000 scheduled: diff --git a/src/main/resources/application-pro.yml b/src/main/resources/application-pro.yml index aaa1169c..2c881073 100644 --- a/src/main/resources/application-pro.yml +++ b/src/main/resources/application-pro.yml @@ -55,6 +55,7 @@ kafka: msgExchange: intervalSeconds: 1 waitDateLeftOffset: 600000 + ignoreMsg: ldm-*,regn-*,rsta-*,error-* #忽略的消息列表 logstash: host: 172.17.35.160:5000 scheduled: diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 65d7dfdf..b43999e2 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -55,6 +55,7 @@ kafka: msgExchange: intervalSeconds: 1 waitDateLeftOffset: 600000 + ignoreMsg: ldm-*,regn-*,rsta-*,error-* #忽略的消息列表 logstash: host: 130.120.3.234:5000 scheduled: