我使用的是Kafka Processor API,我不想只使用基于时间的方法来决定何时在任务中提交已处理的消息,但我会基于一个数字来做已处理的消息或超时。 有没有办法在Java中实现它?
答案 0 :(得分:1)
处理器API允许您"请求"通过ProcessorContext#commit()
提交。调用此方法,Kafka Streams将尽快提交。这应该允许你在这个计数器中实现一些Processor
内部计数器并调用commit()。
此外,您可以使用配置提交间隔,或者有效地将其设置为Long.MAX_VALUE
。
您还可以根据事件时间或挂钟时间来安排标点符号并从那里调用commit()以获得"超时"你想要的行为。