【发布时间】:2017-08-30 20:57:06
【问题描述】:
我想在我的消费者成功处理记录时告诉 Kafka,所以我通过将 enable.auto.commit 设置为 false 来关闭自动提交。我在偏移量 0 和 1 处订阅了关于我订阅的主题的两条消息,并创建了一个使用者,以便每次调用 poll 最多返回 一个 记录(通过将 max.poll.records 设置为 1 )。
我现在拨打consumer.poll(5000) 并收到第一条消息,但我不承认;我不打电话给commitSync 或commitAsync。如果我现在再次调用consumer.poll(5000),使用相同的消费者,我希望收到与我刚刚阅读的完全相同的消息,但相反,我收到了第二条消息。
如何让consumer.poll 继续发送相同的消息,直到我明确确认?
【问题讨论】:
-
P.S.我正在使用 IBM Message Hub(它在底层使用 Kafka)。