zoukankan      html  css  js  c++  java
  • RocketMQ分析

    1.可以通过 producer.setRetryTimesWhenSendFailed(count) 来设置生产者发送消息时候失败重试的次数,默认值是2,即失败一次后,会重试两次,总共发送三次消息

    # com.alibaba.rocketmq.client.producer.DefaultMQProducer
    private int retryTimesWhenSendFailed = 2;
    

    2.生产者发送消息重试机制

    贴上源码,客户端版本号是:3.2.6

    # com.alibaba.rocketmq.client.impl.producer.DefaultMQProducerImpl#sendDefaultImpl
    int timesTotal = 1 + this.defaultMQProducer.getRetryTimesWhenSendFailed();
    int times = 0;
    String[] brokersSent = new String[timesTotal];
    for (; times < timesTotal && (endTimestamp - beginTimestamp) < maxTimeout; times++) {
        String lastBrokerName = null == mq ? null : mq.getBrokerName();
        MessageQueue tmpmq = topicPublishInfo.selectOneMessageQueue(lastBrokerName);
        if (tmpmq != null) {
            mq = tmpmq;
            brokersSent[times] = mq.getBrokerName();
            try {
                sendResult = this.sendKernelImpl(msg, mq, communicationMode, sendCallback, timeout);
                endTimestamp = System.currentTimeMillis();
                switch (communicationMode) {
                case ASYNC:
                    return null;
                case ONEWAY:
                    return null;
                case SYNC:
                    if (sendResult.getSendStatus() != SendStatus.SEND_OK) {
                        if (this.defaultMQProducer.isRetryAnotherBrokerWhenNotStoreOK()) {
                            continue;
                        }
                    }
    
                    return sendResult;
                default:
                    break;
                }
            }
            catch (Exception e) {
                endTimestamp = System.currentTimeMillis();
                continue;
            }
        }
        else {
            break;
        }
    } // end of
    
  • 相关阅读:
    用iText5-2-其他类型PDF
    用iText5-1-生成PDF
    UML介绍-2.3-StarUML的时序图
    UML介绍-2.2-StarUML的类图
    OOAD 面向对象的分析与设计
    激励自己的话
    UML工具-1-StarUML下载及破解
    A1002 字符串长度
    A1001 整除问题
    剑桥雅思写作高分范文ESSAY10
  • 原文地址:https://www.cnblogs.com/HeCG95/p/11761154.html
Copyright © 2011-2022 走看看