没有stateStore的Kafka流

时间:2018-10-19 12:09:57

标签: java apache-kafka

我需要创建一个可以满足3个需求(即过滤,转换和处理)的Kafka流应用程序。我有一些需要相应修改的代码。在Kafka流上需要完成的操作的细节由json配置驱动(是否需要过滤,过滤+转换或过滤+转换+流程)。所有这些都内置在一个工作单元中,随后这些工作单元用于构建Kafka流。

使用了apply()方法,将workUnits应用于KSteams

public KStream<Long, String> apply(KStream<Long, String> stream) {
    if (isTransformer()) {
        return stream.transform(ts);
    }
    else if (isProcessor()) {
        return stream.process(ps, stateStoreNames);(ts);
    }
    else {
        return stream.filter((Long key, String input) -> jsonMatcher.doesMatch(input));
    }
}

我想像其他两种情况一样返回stream.process,即stream.transform和stream.filter,但是由于stream.process将stream.process(processorSupplier,stateStoreNames)stateStoreName作为参数。 我没有建立任何状态存储,如何使用ProcessorSupplier提供的我自己的Process类仅实现process()方法?

谢谢

0 个答案:

没有答案