Kafka 1.0.1中Processor.close()的JavaDoc描述说:
注意:请勿关闭任何流托管资源,例如StateStores 在这里,因为它们是由图书馆管理的。
此外,StateStore.close()的JavaDoc描述说:
用户只需要实现这个功能,但是永远不需要显式调用这个api,因为它会在必要时自动调用它
但我在documentation中找到了一个示例,其中一个状态存储在该方法中显式关闭:
@Override
public void close() {
// close the key-value store
kvStore.close();
}
所以,我有点失落。我应该关闭Processor
内的状态商店吗?
答案 0 :(得分:4)
不,你不应该关闭商店。
示例代码段错误。谢谢你指出来。我开了一个公关来解决它:github.com/apache/kafka/pull/4667