Parcourir la source

[消息][修改][优化重试机制]

release_toaliyun_real
luozukai il y a 7 ans
Parent
révision
5e9d226964
1 fichiers modifiés avec 8 ajouts et 3 suppressions
  1. +8
    -3
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java

+ 8
- 3
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java Voir le fichier

@@ -107,11 +107,16 @@ public class MqBaseConsumer {
wxMsgRecordMapper.update(baseMsg);

if(null != baseMsg){
if(baseMsg.getDelayTimeLevel() < 4){
if(baseMsg.getDelayTimeLevel() > 0){
log.info("消息重试,DelayTimeLevel: "+baseMsg.getDelayTimeLevel());
Thread.sleep(5000);
baseMsg.setDelayTimeLevel(baseMsg.getDelayTimeLevel()+1);
mqBaseProducer.sendMessage(baseMsg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
baseMsg.setDelayTimeLevel(baseMsg.getDelayTimeLevel()-1);

if(EnumMsgRecordType.INSIDE_NOTIFY_REFUND_SUCCESS.getCode().equals(baseMsg.getMsgType())) {
// 内部消息 - 微信退款通知
FmInsideNotifyRefundSuccessMsg msg = (FmInsideNotifyRefundSuccessMsg)JsonUtil.readValue(message,FmInsideNotifyRefundSuccessMsg.class);
mqBaseProducer.sendMessage(msg, EnumMsgMqTopic.DEFAULT.getCode(), EnumMsgMqTag.DEFAULT.getCode(), EnumMsgMqKey.DEFAULT.getCode());
}
}else{
baseMsg.setStatusMessage("重试次数超过3次");
baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode());


Chargement…
Annuler
Enregistrer