|
|
|
@ -128,7 +128,7 @@ public abstract class EnhanceMessageHandler<T extends BaseMessage> { |
|
|
|
IPersist persist = repeatConsumerConfig.getPersist(); |
|
|
|
RepeatElement repeatElement = new RepeatElement(repeatConsumerConfig.getApplicationName(), message.getConsumerGroupName(),message.getTopic() |
|
|
|
, message.getTag()==null ? "" : message.getTag() |
|
|
|
, this.deDupMessageKey(message)); |
|
|
|
, this.repeatMessageKey(message)); |
|
|
|
//消费消息,末尾消费失败会删除消费记录,消费成功则更新消费状态
|
|
|
|
try { |
|
|
|
long now = System.currentTimeMillis(); |
|
|
|
@ -194,7 +194,7 @@ public abstract class EnhanceMessageHandler<T extends BaseMessage> { |
|
|
|
*/ |
|
|
|
protected Boolean handleMsgRepeat(final T message) { |
|
|
|
RepeatConsumerStrategy strategy = new NormalRepeatStrategy(); |
|
|
|
Function<BaseMessage, String> repeatKeyFunction = baseMessage -> deDupMessageKey(message); |
|
|
|
Function<BaseMessage, String> repeatKeyFunction = baseMessage -> repeatMessageKey(message); |
|
|
|
if (repeatConsumerConfig.getRepeatStrategy() == RepeatConsumerConfig.REPEAT_STRATEGY_CONSUME_LATER) { |
|
|
|
strategy = new RedisRepeatStrategy(repeatConsumerConfig, repeatKeyFunction); |
|
|
|
} |
|
|
|
@ -205,7 +205,7 @@ public abstract class EnhanceMessageHandler<T extends BaseMessage> { |
|
|
|
/** |
|
|
|
* 默认拿消息key 作为去重的标识,子类可复写该方法自定义去重标识 |
|
|
|
*/ |
|
|
|
protected <T extends BaseMessage> String deDupMessageKey(T message) { |
|
|
|
protected String repeatMessageKey(T message) { |
|
|
|
return message.getMessageKey(); |
|
|
|
} |
|
|
|
|
|
|
|
|