替换已弃用的TransformerSupplier后,ContextualProcessor的context()为何为空?
Kafka Streams中ContextualProcessor的context()为空问题分析
由于flatTransform已被弃用,我正按照建议使用process来替代它。
我之前的TransformerSupplier代码如下:
public class MyTransformerSupplier implements TransformerSupplier<A, B, Iterable<C, D>> { @Override public Transformer<A, B, Iterable<C, D>> get() { return new MyTransformer(); } @Override public Set<StoreBuilder<?>> stores() { // Declare a state store return Set.of(someStore); } }
我当前的ProcessorSupplier代码如下:
public class MyProcessorSupplier implements ProcessorSupplier<A, B, C, D> { @Override public Processor<A, B, C, D> get() { return new MyProcessor(); } @Override public Set<StoreBuilder<?>> stores() { // Unmodified declaration of the state store return Set.of(someStore); } }
我之前的Transformer与新的ContextualProcessor之间的唯一显著区别是:不再返回List,而是在内部多次调用context().forward(...)。
现在出现的问题正是新的ContextualProcessor中的context()为空。
能否帮我分析其中原因?
内容的提问来源于stack exchange,提问作者frblazquez
相关产品推荐
相关产品推荐

