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

时间:2020-05-24 07:23:00

标签: java-8 apache-kafka apache-kafka-streams spring-cloud-stream spring-cloud-stream-binder-kafka

我正在研究Spring cloud stream kafka stream活页夹。在我的使用者bean方法中,我想返回带有字符串列表作为值的KStream-

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

是否可能有一个以collection为值的KStream?如果可以的话,有人可以解释如何创建它吗?

1 个答案:

答案 0 :(得分: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;
    }
};