소스 검색

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

release_toaliyun_real
luozukai 7 년 전
부모
커밋
5e9d226964
1개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. +8
    -3
      mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java

+ 8
- 3
mallinkMQConsumer/src/main/java/com/iformall/mq/MqBaseConsumer.java 파일 보기

@@ -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());


불러오는 중...
취소
저장