У меня есть приложение, которое отправляет сообщения в очередь служебной шины Azure. У меня также есть другое приложение, которое читает сообщения из этой очереди и обрабатывает затем отправляет обработанное сообщение в тему.
Я вижу, что большинство моих сообщений перемещаются в dlq. Когда я вижу исключение в обозревателе служебной шины Azure, я вижу, что оно генерирует одно и то же исключение для всех сообщений - превышено максимальное количество повторных попыток. Я хочу знать фактическое исключение, из-за которого сообщение перемещено в dlq.
Где я могу найти подробности об этом исключении? Я считаю, что данные об этом исключении могут храниться где угодно?
Точная информация об исключении, почему сообщения не имеют буквенного обозначения
Ответы (1)
В описании deadlettererror говорится, что сообщение не может быть использовано после 10 попыток доставки.
Если сообщение превышает MaxDeliveryCount (значение по умолчанию 10), оно будет перемещено в DLQ. Если вы прочитали "Как сообщения попадают в DLQ?", который я предоставил в комментарии, вы найдете приведенную ниже информацию в разделе «Превышение MaxDeliveryCount».
Каждый раз, когда сообщение было доставлено под блокировкой (ReceiveMode.PeekLock), но было либо явно отменено, либо срок блокировки истек, BrokeredMessage.DeliveryCount сообщения увеличивается. Когда DeliveryCount превышает MaxDeliveryCount, сообщение перемещается в DLQ
Проверьте Продолжительность блокировки и убедитесь, что ваше клиентское приложение может принять сообщение в течение интервала ожидания блокировки. Кроме того, если возможно, вы можете установить большое число для MaxDeliveryCount.
try { //process message } catch (Exception expt) { Exception ex = expt; //log exception and delivery count Console.WriteLine(String.Format("Message DeliveryCount: {0}; Exception: {1}", message.DeliveryCount.ToString(), ex.Message)); }
- person Fei Han; 06.06.2017
maximum retry count exceeded
из дополнительных свойств сообщения сообщения DLQ в проводнике служебной шины? Не могли бы вы увидеть подробное описание в свойстве DeadLetterErrorDescription? Кроме того, проверьте Как сообщения попадают в DLQ? - person Fei Han   schedule 31.05.2017