Java 在获取某个主题的kstream后,如何从ktable中读取完整的历史记录

Java 在获取某个主题的kstream后,如何从ktable中读取完整的历史记录,java,apache-kafka,apache-kafka-streams,Java,Apache Kafka,Apache Kafka Streams,我试图从ktable中读取完整的数据/记录,但我观察到的是,我只能看到当前的记录,即仅对我可见的消息,我无法打印所有以前的记录 我正在尝试使用Printed.sysOut()方法将数据打印到控制台 我可以看到上面的消息并能够处理它们 过了一段时间,我又发了两条信息如下: key: test1, Value: demo1 key: test2, value: demo2 key: test3, value: demo3 key: test4, value: demo4 我可以在控制台上看

我试图从ktable中读取完整的数据/记录,但我观察到的是,我只能看到当前的记录,即仅对我可见的消息,我无法打印所有以前的记录

我正在尝试使用Printed.sysOut()方法将数据打印到控制台

我可以看到上面的消息并能够处理它们

过了一段时间,我又发了两条信息如下:

key: test1, Value: demo1
key: test2, value: demo2 
key: test3, value: demo3
 key: test4, value: demo4 
我可以在控制台上看到上述消息,但问题是我无法看到我发送的初始消息

发送后两条消息后的预期结果:

key: test1, value: demo1
key: test2, value: demo2
key: test3, value: demo3
key: test4, value: demo4

我假设输入主题只有一个分区(或者您只运行一个应用程序实例),您的组id在每个应用程序启动时都是唯一的,并且您总是以最早的偏移量启动?这些因素中的每一个都控制着你所看到的数据量。你是否希望每次收到新邮件时都能看到以前的所有邮件?是的,这就是我所要寻找的。请让我知道如何查看所有这些信息。我想问题在于缓存。尝试将缓存大小设置为零(这将是全局的),或仅通过
物化
禁用单个KTable上的缓存。Cf.我曾尝试使用inmemory存储,它将异常作为org.apache.kafka.streams.errors.InvalidStateStoreException抛出给我:状态存储,即我的键值存储,可能已迁移到另一个实例。我假设输入主题只有一个分区(或者您只运行一个应用程序实例),您的组id在每个应用程序启动时都是唯一的,并且您总是以最早的偏移量启动?这些因素中的每一个都控制着你所看到的数据量。你是否希望每次收到新邮件时都能看到以前的所有邮件?是的,这就是我所要寻找的。请让我知道如何查看所有这些信息。我想问题在于缓存。尝试将缓存大小设置为零(这将是全局的),或仅通过
物化
禁用单个KTable上的缓存。Cf.我已尝试使用inmemory存储,它将异常作为org.apache.kafka.streams.errors.InvalidStateStoreException抛出给我:状态存储,即我的键值存储,可能已迁移到另一个实例。
key: test1, value: demo1
key: test2, value: demo2
key: test3, value: demo3
key: test4, value: demo4