Как работает повтор в Azure Service Bus Java - PullRequest
1 голос
/ 27 мая 2019

Я новичок в служебной шине, мне интересно узнать о RetryPolicy и о том, как он работает, согласно документации, повторная попытка произошла автоматически для временных исключений (MessagingExcepitons, ServerBusy), и число повторов по умолчанию равно 3, но мыМожно настроить пользовательскую политику повторных попыток с помощью класса RetryExponential.

Я хочу посмотреть журналы, которые RetryPolicy действительно пытался подключить или нет, когда возникает исключение.

Как это проверить, как реплицировать MessagingExcepitons, исключения ServerBusy, чтобы я мог видеть журналы.Я использую сервисный автобус Azure Java Java SDK.

Может ли кто-нибудь помочь мне понять это.Заранее спасибо

1 Ответ

0 голосов
/ 28 мая 2019

Java SDK с открытым исходным кодом, и поиск retryPolicy в этих файлах показывает, как базовая реализация использует его

Например, здесь приведен поток для CoreMessageSender при возникновении ошибки

  1. При возникновении ошибки и при наличии исключения ServiceBusException повторная попыткапо расписанию - См. строку
  2. После ожидания он гарантирует, что ссылка все еще открыта, и увеличивает количество повторов - См. строку
  3. Это продолжается и продолжаетсяпри успешном завершении сбрасывает счетчик - См. строку

Что касается ведения журнала, Java SDK использует SLF4J , и вы можете просмотреть необходимые журналы в виде строкиэто в вашем коде

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

Logger.getLogger("com.microsoft.azure.servicebus").setLevel(Level.WARN);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...