kafka-streams - TopologyBuilder/KStreamBuilder 对象可重用吗?

kafka-streams - are TopologyBuilder/KStreamBuilder objects reusable?

org.apache.kafka.streams.processor.TopologyBuilder/org.apache.kafka.streams.kstream.KStreamBuilder 对象是否可重复使用?

我想提供使用完全相同的配置重新启动给定的 kafka 流应用程序的能力。

到目前为止,以下代码一直有效,但我没有在文档中找到任何硬性确认:

TopologyBuilder topology = ...
Properties properties = ...

// first time
KafkaStreams handle1 = new KafkaStreams(topology, properties);
handle1.start()
...
handle1.stop()

// second time
KafkaStreams handle2 = new KafkaStreams(topology, properties); // <- is this safe?
handle2.start()

是的,它们是可重复使用的,您所做的是绝对安全的。