向 eventhub 发送和接收消息抛出 amqp 异常

Send & Receive message to eventhub throws amqp exception

我对事件中心的实现和理解不熟悉。我按照微软文档 enter link description here

中的说明进行操作

然而,当我 运行 我的接收器代码时,我遇到了以下错误。

Caused by: com.azure.core.amqp.exception.AmqpException: Receiver 'nil' with a higher epoch '4' already exists. Receiver 'nil' with epoch 0 cannot be created. Make sure you are creating receiver with increasing epoch value to ensure connectivity, or ensure all old epoch receivers are closed or disconnected.

谁能指出原因以及我该如何解决这个错误?

谢谢

此异常表明您配置的使用者组中已经有另一个使用者声明对您尝试读取的分区的独占所有权。大多数情况下,这些是事件处理器类型,因为它们使用所有者级别(错误消息中的纪元)机制来帮助控制负载平衡。

在你的例子中,看到有一个所有者级别为 4 运行ning 的消费者,而新实例使用的所有者级别为 0,我最好的猜测是你有一个 EventProcessorHost 来自遗留 Microsoft.Azure.EventHubs SDK 运行ning 针对该事件中心和使用者组配对,并且您正在尝试使用来自 Azure.Messaging.EventHubs SDK 的具有相同配置的处理器。如果是这种情况,重要的是要知道来自两代不同 SDK 的处理器不兼容并且不会在单个处理器集群中协同工作;相反,他们会争夺所有权。

缓解措施是停止其他消费者或 运行 不同消费者组中的新消费者。