正确配置:
@Bean
public RedeliveryPolicy redeliveryPolicy(){
RedeliveryPolicy redeliveryPolicy= new RedeliveryPolicy();
//是否在每次嘗試重新發送失敗後,增長這個等待時間
redeliveryPolicy.setUseExponentialBackOff(true);
//重發次數,預設為6次
redeliveryPolicy.setMaximumRedeliveries(3);
//重發時間間隔,預設為1秒 !!!!
redeliveryPolicy.setInitialRedeliveryDelay(2000);
//第一次失敗後重新發送之前等待2000毫秒,第二次失敗再等待2000 * 2毫秒,這裡的2就是value
redeliveryPolicy.setBackOffMultiplier(2);
//是否避免消息碰撞
redeliveryPolicy.setUseCollisionAvoidance(false);
//設定重發最大拖延時間-1 表示沒有拖延隻有UseExponentialBackOff(true)為true時生效
redeliveryPolicy.setMaximumRedeliveryDelay(-1);
return redeliveryPolicy;
}