Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从卡夫卡主题中检索最新消息_Java_Apache Kafka - Fatal编程技术网

Java 如何从卡夫卡主题中检索最新消息

Java 如何从卡夫卡主题中检索最新消息,java,apache-kafka,Java,Apache Kafka,我只是卡夫卡的新手,我有个问题: 我在卡夫卡中有一个主题“A”,我启动Spring boot应用程序并使用MessageChannel向主题“A”发送一些消息,然后我停止应用程序 当我再次启动应用程序时,是否仍然可以获取我发送到主题“A”的最新消息(并非所有消息)?我搜索了所有的解决方案,但它们对我帮助不大,如果我只发送新消息,它总是会立即收到消息。如果您有可运行的代码,请分享,我非常感谢:( 您的使用者存储其偏移量(即上次读取的位置)。重新启动后,他们将从此点继续读取。此行为是出于设计 当由于

我只是卡夫卡的新手,我有个问题:

我在卡夫卡中有一个主题“A”,我启动Spring boot应用程序并使用MessageChannel向主题“A”发送一些消息,然后我停止应用程序

当我再次启动应用程序时,是否仍然可以获取我发送到主题“A”的最新消息(并非所有消息)?我搜索了所有的解决方案,但它们对我帮助不大,如果我只发送新消息,它总是会立即收到消息。如果您有可运行的代码,请分享,我非常感谢:(


您的使用者存储其偏移量(即上次读取的位置)。重新启动后,他们将从此点继续读取。此行为是出于设计

当由于某种原因(例如,它是一个新的用户组或偏移量已过期)此特定用户组的偏移量未知时,将使用偏移量重置属性,但通常有两个选项-a)从头开始重新读取b)开始侦听新消息,忘记以前的一切

有很多方法可以实现您所描述的,但它们并不简单,也不推荐(一个很简单的方法:消费者消息,在到达分区EOF之前跳过它们)


也许Kafka不是解决此问题的合适工具。

您是否检查了Kafka属性
auto.offset.reset=latest
?@apandey846:是的,我添加了,我将Spring云绑定用于这些配置:
resetoffset:true startOffset:latest
    // Start application


    // Get latest message in topic 'A' then do some LOGIC
    if (exist latest message) {
          //Print latest message
    }