spring-cloud-stream-kafka在应用程序启动后仅使用最新消息

时间:2017-06-28 05:51:17

标签: spring-integration spring-cloud-stream spring-kafka

在我们的项目中,我们使用spring-cloud-stream-binder-kafka 1.1.2版与kafka集成。最近我们遇到一种情况,我们的一个服务在启动后消耗了一个主题的旧消息(已经消耗了)。该主题有2个分区,2个消费者分组在一个消费者组下。我们不确定偏移量是否正确地提交给zookeeper。在启动期间,每条消息都会抛出以下错误消息。

#include <stdio.h>
#include <string.h>

int main()
{
    char string[15] = "Strlwr in C";
    printf("%s",tolower(string));
    return  0;
}

为了确保不再发生这种情况,我们一直希望只阅读主题中的最新消息。我发现将[-kafka-listener-2] ERROR o.s.k.listener.LoggingErrorHandler.handle - Error while processing: ConsumerRecord(topic = statemachine_deal_notification, partition = 1, offset = 926, key = null, value = [B@6fab0a32) 设置为resetOffsets,将true设置为startOffset即可完成此任务。但这些属性并不会影响消费者。后来发现这个功能已被删除。

有没有其他方法可以确保特定群组中的消费者仅消费最新消息???。

1 个答案:

答案 0 :(得分:1)

这是一个错误,随后在此修复:https://github.com/spring-cloud/spring-cloud-stream-binder-kafka/commit/7355ada4613ad50fe95430f1859d4ea65f004be1。您可以尝试SNAPSHOT(1.2.2.BUILD-SNAPSHOT或1.3.0.BUILD-SNAPSHOT)版本来验证此修复。

相关问题