diff --git a/iot-message/message-boot/src/main/java/com/njcn/message/consumer/AppAutoDataConsumer.java b/iot-message/message-boot/src/main/java/com/njcn/message/consumer/AppAutoDataConsumer.java index d7fd2b9..4d15597 100644 --- a/iot-message/message-boot/src/main/java/com/njcn/message/consumer/AppAutoDataConsumer.java +++ b/iot-message/message-boot/src/main/java/com/njcn/message/consumer/AppAutoDataConsumer.java @@ -1,15 +1,23 @@ package com.njcn.message.consumer; +import com.njcn.middle.rocket.constant.EnhanceMessageConstant; import com.njcn.middle.rocket.handler.EnhanceConsumerMessageHandler; import com.njcn.mq.constant.BusinessTopic; +import com.njcn.mq.constant.MessageStatus; import com.njcn.mq.message.AppAutoDataMessage; +import com.njcn.redis.pojo.enums.RedisKeyEnum; +import com.njcn.redis.utils.RedisUtil; import com.njcn.stat.api.StatFeignClient; +import com.njcn.system.api.RocketMqLogFeignClient; +import com.njcn.system.pojo.po.RocketmqMsgErrorLog; import lombok.extern.slf4j.Slf4j; +import org.apache.poi.ss.formula.functions.T; import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; import org.apache.rocketmq.spring.core.RocketMQListener; import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.Objects; /** * 类的介绍: @@ -21,8 +29,8 @@ import javax.annotation.Resource; @Service @RocketMQMessageListener( topic = BusinessTopic.NJCN_APP_AUTO_DATA_TOPIC, - selectorExpression = BusinessTopic.AppDataTag.STAT_TAG, consumerGroup = BusinessTopic.NJCN_APP_AUTO_DATA_TOPIC, + selectorExpression = BusinessTopic.AppDataTag.STAT_TAG, consumeThreadNumber = 10, enableMsgTrace = true ) @@ -32,6 +40,12 @@ public class AppAutoDataConsumer extends EnhanceConsumerMessageHandler 200){ + exceptionMsg = exceptionMsg.substring(0,180); + } + rocketmqMsgErrorLog.setRecord(exceptionMsg); + //单次消费异常 + rocketMqLogFeignClient.add(rocketmqMsgErrorLog); + } else { + rocketmqMsgErrorLog.setRecord("重试消费" + super.getMaxRetryTimes() + "次,依旧消费失败。"); + //重试N次后,依然消费异常 + rocketMqLogFeignClient.add(rocketmqMsgErrorLog); + } + } + + + /*** + * 处理失败后,是否重试 + * 一般开启 + */ @Override protected boolean isRetry() { - return false; + return true; } + + /*** + * 消费失败是否抛出异常,抛出异常后就不再消费了 + */ @Override protected boolean throwException() { return false; } + + /*** + * 调用父类handler处理消息的元信息 + */ @Override public void onMessage(AppAutoDataMessage appAutoDataMessage) { super.dispatchMessage(appAutoDataMessage);