鉴于EventHostProcessor的实现,如何强制重放同一处理器中最后一个检查点的事件?
要清楚,假设我的分区是100深,我已经消耗了10条消息。当我调用这个重播方法时,我希望onEvent
返回我之前使用的10中的第一条消息。
在C#中,这似乎可以通过使用Stopwatch
来实现,但我没有看到Java等价物。
答案 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依赖项。)
希望它有所帮助。