Я хотел бы разделить свой входной поток на два потока, например 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, ?>
.