Я пытаюсь прочитать полные данные / записи из таблицы ktable, но я заметил, что я могу видеть только текущие записи, т.е. сообщения, которые приходят только видимым для меня, и я не могу распечатать все предыдущие записи.
Я пытаюсь распечатать данные на консоли, используя метод Printed.sysOut ().
KTable<String, String> kTableMap = builder.table("test_topic");
kTableMap.toStream().map((key, value) -> new KeyValue<>(key, value))
.foreach(new ForeachAction<String, String>() {
public void apply(String key, String value) {
System.out.println("From MAP " + key + ": Value " +
value);
}
});
// Second approach
System.out.println("Printing to console");
builder.table("demo_topic").toStream().print(Printed.toSysOut());
System.out.println("Printing to console is done");
Я не вижу ошибок при обработке потока, но фактические результаты не соответствуют ожидаемым.
Предположим, что после получения потока я отправил два сообщения следующим образом:
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