首页 > 解决方案 > 是否有记录的方法来获取 Kafka Stream 的所有状态存储?

问题描述

这里的文档:https ://docs.confluent.io/platform/current/streams/developer-guide/interactive-queries.html#discovering-and-accessing-application-instances-and-their-local-state-stores解释如果您知道商店的名称,如何查询状态商店。我找不到任何可以查询所有州商店的示例。以下代码片段似乎能够做到这一点:

TopologyDescription tdesc = topology.describe();
for (TopologyDescription.Subtopology sub : tdesc.subtopologies()) {
    for (TopologyDescription.Node node : sub.nodes()) {
        if (node instanceof org.apache.kafka.streams.processor.internals.InternalTopologyBuilder.Processor) {
            InternalTopologyBuilder.Processor proc = (InternalTopologyBuilder.Processor) node;
                System.out.println(proc.stores());
        }
    }
}

这似乎有效。有没有更好的办法 ?这是未来的证明吗?

标签: statestoreapache-kafka-streamstopology

解决方案


推荐阅读