从EventHostProcessor中的上一个检查点重新启动消耗

时间:2017-03-29 15:14:26

标签: java azure azure-eventhub

鉴于EventHostProcessor的实现,如何强制重放同一处理器中最后一个检查点的事件?

要清楚,假设我的分区是100深,我已经消耗了10条消息。当我调用这个重播方法时,我希望onEvent返回我之前使用的10中的第一条消息。

在C#中,这似乎可以通过使用Stopwatch来实现,但我没有看到Java等价物。

2 个答案:

答案 0 :(得分:1)

解决方案似乎是您可以检查指向上次使用的EventData的高水位线,也可以检查指向另一个EventData实例。

例如context.checkpoint(data);

似乎没有办法随意回绕到EventProcessorHost中的早期事件。

答案 1 :(得分:0)

简单的方法是使用StopWatch类的Apache Commons Lang类并遵循教程Receive events from Azure Event Hubs using the .NET Framework中的C#代码,用azure-event-hubs-java在Java中编写相同的功能代码库(在GitHub here上,EventProcessorHost here的maven依赖项。)

希望它有所帮助。