Explorar el Código

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

release_toaliyun_real
luozukai hace 7 años
padre
commit
5e9d226964
Se han modificado 1 ficheros con 8 adiciones y 3 borrados
  1. +8
    -3
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java

+ 8
- 3
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java Ver fichero

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


if(null != baseMsg){ if(null != baseMsg){
if(baseMsg.getDelayTimeLevel() < 4){
if(baseMsg.getDelayTimeLevel() > 0){
log.info("消息重试,DelayTimeLevel: "+baseMsg.getDelayTimeLevel()); log.info("消息重试,DelayTimeLevel: "+baseMsg.getDelayTimeLevel());
Thread.sleep(5000); 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{ }else{
baseMsg.setStatusMessage("重试次数超过3次"); baseMsg.setStatusMessage("重试次数超过3次");
baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode()); baseMsg.setMsgStatus(EnumMsgRecordStatus.CONSUME_FAIL.getCode());


Cargando…
Cancelar
Guardar