Kafka Streams 关闭处理器的状态存储



JavaDoc 在 Kafka 1.0.1 中对 Processor.close(( 的描述说:

注意:不要关闭任何流托管资源,如 StateStores。 在这里,因为它们由图书馆管理。

此外,StateStore.close(( 的 JavaDoc 描述说:

用户只需要实现这个函数,但永远不需要显式调用这个 api,因为它会在必要时被库自动调用

但是我在文档中找到了一个示例,其中状态存储在该方法中显式关闭:

@Override
public void close() {
    // close the key-value store
    kvStore.close();
}

所以,我有点迷茫。我应该关闭Processor内的国有商店吗?

不,您不应该关闭商店。

示例代码片段错误。感谢您指出。我打开了一个 PR 来修复它:https://github.com/apache/kafka/pull/4667

最新更新