Как прочитать полные исторические записи из ktable после приобретения kstream по теме - PullRequest
1 голос
/ 09 июля 2019

Я пытаюсь прочитать полные данные / записи из таблицы 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...