Проверка ActiveMQ повторяется на приборной панели - PullRequest
0 голосов
/ 11 марта 2020

Я реализовал политику повторной доставки на activeMQ, но проблема в том, что нет способа увидеть количество повторов для очереди на панели мониторинга, предоставленной activeMQ. Я хочу увидеть количество попыток, прежде чем оно попадет в очередь DLQ. Мне известен механизм повторения очереди, он будет повторять число раз для одного сообщения после завершения или переадресации сообщения в DLQ, он выберет другое сообщение для обработки.

ниже мой код

 _connection.RedeliveryPolicy.InitialRedeliveryDelay = 10000;
 _connection.RedeliveryPolicy.RedeliveryDelay(10000);
 _connection.RedeliveryPolicy.MaximumRedeliveries = 3;
 _connection.RedeliveryPolicy.BackOffMultiplier = false;
 _connection.RedeliveryPolicy.UseExponentialBackOff = false;

Пожалуйста, дайте мне знать, есть ли способ увидеть повторные попытки на приборной панели?

1 Ответ

0 голосов
/ 11 марта 2020

В вашем примере важно отметить, что если вы добавили RedeliveryPolicy в конфигурацию вашего брокера И в конфигурацию вашего соединения, вы дублируете усилия. Ваше сообщение получит retries=(number of connection retries) * (number of broker retries). Таким образом, в вашем случае, если число повторных попыток подключения равно 3, а у брокера RedeliveryPolicy - 3, ваше сообщение будет повторено 9 раз! Рекомендуется просто установить политику повторных попыток подключения и позволить посреднику обрабатывать повторную диспетчеризацию, чтобы он мог перераспределить сообщение о кластере посредников.

Я думал, что существует заголовок ActiveMQ, который делает то, что вы требуется, когда сообщение повторяется или доставляется, но оно не указано в документации, и после того, как я настроил посредника и DLQ-сообщения специально, я не вижу установленных заголовков сообщений. Это подтверждается следующим образом: https://github.com/apache/activemq/blob/master/activemq-broker/src/main/java/org/apache/activemq/broker/util/RedeliveryPlugin.java#L181

Можно написать небольшое улучшение для брокера, чтобы [опционально] увеличить заголовок счетчика повторных поставок в этой строке, и я уверен, что патч будет приветствоваться сообществом.

...