类 EnhanceMessageHandler<T extends MqBaseMessage>

java.lang.Object
com.walker.push.rocketmq.EnhanceMessageHandler<T>
类型参数:
T -

public abstract class EnhanceMessageHandler<T extends MqBaseMessage> extends Object
消息消费者处理基础代码。
作者:
时克英
  • 字段详细资料

    • logger

      protected final transient org.slf4j.Logger logger
  • 构造器详细资料

    • EnhanceMessageHandler

      public EnhanceMessageHandler()
  • 方法详细资料

    • getRocketMQEnhanceTemplate

      public RocketMQEnhanceTemplate getRocketMQEnhanceTemplate()
    • setRocketMQEnhanceTemplate

      public void setRocketMQEnhanceTemplate(RocketMQEnhanceTemplate rocketMQEnhanceTemplate)
    • handleMessage

      protected abstract void handleMessage(T message) throws Exception
      消息处理
      参数:
      message - 待处理消息
      抛出:
      Exception - 消费异常
    • handleMaxRetriesExceeded

      protected abstract void handleMaxRetriesExceeded(T message)
      超过重试次数消息,需要启用isRetry
      参数:
      message - 待处理消息
    • filter

      protected boolean filter(T message)
      是否需要根据业务规则过滤消息,去重逻辑可以在此处处理
      参数:
      message - 待处理消息
      返回:
      true: 本次消息被过滤,false:不过滤
    • isRetry

      protected abstract boolean isRetry()
      是否异常时重复发送
      返回:
      true: 消息重试,false:不重试
    • throwException

      protected abstract boolean throwException()
      消费异常时是否抛出异常 返回true,则由rocketmq机制自动重试 false:消费异常(如果没有开启重试则消息会被自动ack)
    • getMaxRetryTimes

      protected int getMaxRetryTimes()
      最大重试次数
      返回:
      最大重试次数,默认5次
    • getDelayLevel

      protected int getDelayLevel()
      isRetry开启时,重新入队延迟时间
      返回:
      -1:立即入队重试
    • dispatchMessage

      public void dispatchMessage(T message)
      使用模板模式构建消息消费框架,可自由扩展或删减
    • handleRetry

      protected void handleRetry(T message)