如何实现重传退避机制中的最大延时时间的效果啊

@Bean
public Consumer createPulsarConsumer_myTopic5() throws PulsarClientException {
    Consumer consumer = pulsarClient.newConsumer().topic(myTopic5).subscriptionName(myTopic5_subscriptionName).messageListener(myMessageListener5).negativeAckRedeliveryBackoff(MultiplierRedeliveryBackoff.builder().minDelayMs(1000).maxDelayMs(60 * 1000).build()).subscribe();
    return consumer;
}

我现在的效果生产了一条消息,然后nack,,然后每隔1s就重投,,
我想知道什么情况下是maxDelayMs(60 * 1000)这个时间呢?感谢

重新传送计数 重新传递延迟
1 10 + 1秒
2 10 + 2秒
3 10 + 4秒
4 10 + 8秒
5 10 + 16秒
6 10 + 32秒
7 10 + 60秒
8 10 + 60秒

也就是文档中的这个时间间隔我如何重现呢,感谢。

@codelipenghui
辉哥,帮忙看看吧,新功能,问了一圈,都不太熟悉,我在shared订阅类型下使用的,测试结果并不是像文档中列出来的延时的时间。

我的延时时间每一次都在10左右,从来没有1 2 4 8 16秒这样的情况。

    @Bean
    public Consumer createPulsarConsumer_myTopic2() throws PulsarClientException {
        Consumer consumer = pulsarClient.newConsumer().topic(myTopic2).subscriptionName(myTopic2_subscriptionName).messageListener(myMessageListener1).subscriptionType(SubscriptionType.Shared).ackTimeout(10, TimeUnit.SECONDS).negativeAckRedeliveryBackoff(MultiplierRedeliveryBackoff.builder()
                .minDelayMs(1000)
                .maxDelayMs(60 * 1000)
                .multiplier(2)
                .build()).subscribe();
        return consumer;
    }

在shared订阅类型下。