Сплит кафка ручья на разные виды - PullRequest
0 голосов
/ 22 октября 2019

Я хотел бы разделить свой входной поток на два потока, например KStream<String, TypeA> и KStream<String, TypeB>.

Я делаю это с помощью branch():

Kstream<String, TypeA> stream = new StreamBuilder()...

KStream<String, ?>[] streams = stream.branch(
  (k, v) -> true,
  (k, v) -> true
)

, а затем преобразовываю тип:

streams[0].mapValues(v -> (TypeA) v)... // or by Transformer<K, V R> interface
streams[1].mapValues(v -> (TypeB) v)... // or by Transformer<K, V R> interface

Есть ли лучший подход? spring-kafka имеет KafkaStreamBrancher, но не работает с <String, ?>.

...