Логика повторов DSL Kafka Streams (запись записи обратно в тему) - PullRequest
0 голосов
/ 22 февраля 2019

При выполнении KStream - левое соединение с KTable, я хочу отправить запись обратно в ту же тему, если правая таблица не совпадает, через X секунд.

Это возможно с помощью DSL?

1 Ответ

0 голосов
/ 23 февраля 2019

Полагаю, вы могли бы

KStream[] streams = stream.leftJoin(table,...).branch(...);
stream[1].transform(...).to("input-topic");

. Вы используете ветвь для помещения объединенных записей в первый поток и несвязанных записей во второй поток.Второй поток передается в transform(), который использует хранилище состояний для буферизации этих записей, и вы можете context.forward() отправлять их, используя punctuations с 5-секундной задержкой.

...