如何创建一个以集合对象为值的KStream?

问题描述 投票:1回答:1

我正在使用Spring云流kafka streams binder。在我的消费者Bean方法中,我想返回以List of String为值的KStream--。

@Bean
public Function<KStream<Object, String>, KStream<String, List<String>>> method() {
        return input -> {
        /* business logic */
        return KStream<String, List<String>>;
        };
}

是否可以拥有一个以集合为值的KStream?如果可以,谁能解释一下如何创建它?

java-8 apache-kafka apache-kafka-streams spring-cloud-stream spring-cloud-stream-binder-kafka
1个回答
1
投票

对于这种情况,你可以调用 mapValues():

return input -> {
    return input.mapValues(v -> {
        List<String> list = new LinkedList(); // or any other list implementation
        list.add(v); // or any other logic
        return list;
    }
};
© www.soinside.com 2019 - 2024. All rights reserved.