类 EnhanceMessageHandler<T extends MqBaseMessage>
java.lang.Object
com.walker.push.rocketmq.EnhanceMessageHandler<T>
- 类型参数:
T-
消息消费者处理基础代码。
- 作者:
- 时克英
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明voiddispatchMessage(T message) 使用模板模式构建消息消费框架,可自由扩展或删减protected boolean是否需要根据业务规则过滤消息,去重逻辑可以在此处处理protected intisRetry开启时,重新入队延迟时间protected int最大重试次数protected abstract voidhandleMaxRetriesExceeded(T message) 超过重试次数消息,需要启用isRetryprotected abstract voidhandleMessage(T message) 消息处理protected voidhandleRetry(T message) protected abstract booleanisRetry()是否异常时重复发送voidsetRocketMQEnhanceTemplate(RocketMQEnhanceTemplate rocketMQEnhanceTemplate) protected abstract boolean消费异常时是否抛出异常 返回true,则由rocketmq机制自动重试 false:消费异常(如果没有开启重试则消息会被自动ack)
-
字段详细资料
-
logger
protected final transient org.slf4j.Logger logger
-
-
构造器详细资料
-
EnhanceMessageHandler
public EnhanceMessageHandler()
-
-
方法详细资料
-
getRocketMQEnhanceTemplate
-
setRocketMQEnhanceTemplate
-
handleMessage
消息处理- 参数:
message- 待处理消息- 抛出:
Exception- 消费异常
-
handleMaxRetriesExceeded
超过重试次数消息,需要启用isRetry- 参数:
message- 待处理消息
-
filter
是否需要根据业务规则过滤消息,去重逻辑可以在此处处理- 参数:
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
使用模板模式构建消息消费框架,可自由扩展或删减 -
handleRetry
-