Event Hub接收器不读取所有消息

时间:2017-08-31 13:08:08

标签: azure azure-eventhub

我在Service Fabric中实现了2个简单服务,它们通过Event Hub进行通信,我遇到了非常奇怪的行为。

侦听器服务使用PartitionReciever方法使用ReceiveAsync读取消息。它始终从分区的开头读取消息,但即使maxMessageCount参数设置为非常高的数,这肯定超过了分区中的消息数,它只读取"随机&#34 ;消息量但从未完整列表。它始终从分区的开头开始正确读取,但它几乎从不读取应该存在的完整消息列表......

我是否遗漏了文档中的内容,这是正常行为,或者我是对的,这是非常奇怪的行为?

我的接收器服务的代码片段:

PartitionReceiver receiver = eventHubClient.CreateReceiver(PartitionReceiver.DefaultConsumerGroupName, Convert.ToString(partition), PartitionReceiver.StartOfStream);

ServiceEventSource.Current.Write("RecieveStart");
IEnumerable<EventData> ehEvents = null;
int i = 0;
do
{
    try
    {
        ehEvents = await receiver.ReceiveAsync(1000);
        break;
    }
    catch (OperationCanceledException)
    {    
        if (i == NUM_OF_RETRIES-1)
        {
            await eventHubClient.CloseAsync();
            StatusCode(500);
        }
    }
    i++;
} while (i < NUM_OF_RETRIES);

0 个答案:

没有答案