Перемещение сообщений из мертвой буквы обратно в тему - PullRequest
1 голос
/ 02 мая 2019

Справочная информация:

Я могу читать сообщения из очереди недоставленных сообщений подписки.Я собираю их в List и устанавливаю receiver.complete(message.getLockToken()), который удаляет сообщение из DLQ.

И позже я перебираю этот список собранных сообщений из DLQ и отправляю их обратно в тему.Во время помещения их в List я обязательно создаю новый объект Message (или BrokeredMessage), прежде чем вставить его.

Это все хорошо для моего личного аккаунта,Я вижу, что цифры растут.Я также могу прочитать их в другом методе.

Проблема:

Я не знаю, где заканчиваются сообщения при подключении к теме моей компании?Они не идут ни на какую подписку.И я не вижу увеличения числа (число активных, число мертвых букв и т. Д.).

Вопрос:

Может ли это быть из-за того, что ни одно правило не может обработать эти сообщения, поэтому они автоматически удаляются?Это возможно?

1 Ответ

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

Решение тривиально и уже распределено по стеку.

Когда я создавал новый объект сообщения new Message(oldMessage), он копировал все свойства из старого сообщения, включая DeadLetterReason и DeadLetterErrorDescription,Вы можете получить свойства, вызвав это сообщение msg.getProperties().

Именно по этой причине сообщения поступают в эфир.Я остановил его копирование, и это решило проблему.

В примечании к теме я нашел ответ на свой настоящий вопрос по этой ссылке , как предложено @ PramodValavala-MSFT

Это был мой первоначальный вопрос: может ли это быть из-за того, что ни одно правило не может обработать эти сообщения, поэтому они автоматически удаляются?Это возможно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...