Я пишу приложение, использующее activemq, где я использую политику переопределения, чтобы повторно отправлять сообщения. Я использую концепцию ExponentialBackOff от ActiveMQ.Как работает setBackOffMultiplier (double backOffMultiplier) в работе ActiveMQ
Мой вопрос в том, как этот экспоненциальныйBackOff/setBackOffMultiplier работать.
Например, в моем случае я хочу повторно отправить сообщение до истечения срока действия сообщения, что составляет 15 минут. Я хочу попытаться выполнить повторный набор 10 раз в течение 15 минут. Но ExponentialBackOff делает сообщение для повторного добавления до истечения 15 минут время сообщения, то есть сообщение, подлежащее повторной доставке, все еще находится в состоянии ожидания даже после истечения времени, равного 15 минутам.
Почему это? Я немного смущен этим поведением. Политика пересылки, которую я использую, приведена ниже.
RedeliveryPolicy queuePolicy = new RedeliveryPolicy();
queuePolicy.setInitialRedeliveryDelay(0);
queuePolicy.setBackOffMultiplier(3);
queuePolicy.setUseExponentialBackOff(true);
queuePolicy.setMaximumRedeliveries(10);