我正在使用activemq編寫應用程序,我正在使用redelivery策略重新傳遞郵件。我正在使用ActiveMQ的ExponentialBackOff概念。ActiveMQ中的setBackOffMultiplier(double backOffMultiplier)如何工作
我的問題是這個ExponentialBackOff/setBackOffMultiplier是如何工作的。
例如在我的情況下,我想重新傳遞郵件直到郵件過期時間,即15分鐘。我想在15分鐘內嘗試重新傳遞10次。但ExponentialBackOff會使郵件重新傳遞超過15分鐘過期消息的時間即即使在15分鐘的到期時間之後,要重新傳送的消息仍然處於待定狀態。
這是爲什麼?我對這種行爲感到困惑。我正在使用的redelivery政策如下。
RedeliveryPolicy queuePolicy = new RedeliveryPolicy();
queuePolicy.setInitialRedeliveryDelay(0);
queuePolicy.setBackOffMultiplier(3);
queuePolicy.setUseExponentialBackOff(true);
queuePolicy.setMaximumRedeliveries(10);