Как я могу проверить, что я прочитал все возможные события из раздела EventHub? - PullRequest
0 голосов
/ 09 апреля 2020

Я хочу иметь возможность проверить в моем клиенте, что я обработал все возможные события из раздела EventHub, но я не могу найти лучший способ сделать это. Я использую Java EventHubClient и PartitionReceiver объекты.

Изначально я думал, что смогу сделать это, записав порядковые номера, которые я видел, и сравнив их с ожидаемым диапазоном порядковых номеров. (Всего сообщений = max_seq_number - min_seq_number) - но, похоже, не гарантируется увеличение порядкового номера на 1, поэтому это, похоже, не работает ( связанный вопрос ).

Любые идеи будут очень ценится!

1 Ответ

1 голос
/ 09 апреля 2020

Порядковый номер всегда увеличивается на 1, что гарантировано для каждого раздела.

В параметрах приемника можно включить показатели времени выполнения приемника и сравнить текущий полученный порядковый номер с последним номером последовательности субъектного раздела, указанным в показателях времени выполнения. Сравнение покажет, сколько еще событий ожидает получения.

См. Пример кода здесь - https://github.com/Azure/azure-sdk-for-java/blob/c876a6e0c24a6b02113528e9bcf8d789e9b3c6c9/sdk/eventhubs/microsoft-azure-eventhubs/src/test/java/com/microsoft/azure/eventhubs/sendrecv/ReceiverRuntimeMetricsTest.java#L76

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