Kafka Streams TopologyTestDriver和接收器

时间:2018-11-07 15:05:49

标签: java apache-kafka apache-kafka-streams

我对Kafka Streams TopologyTestDriver(https://kafka.apache.org/20/javadoc/org/apache/kafka/streams/TopologyTestDriver.html)有疑问。

如果您使用Java文档,则可以清楚地看到它支持Sinks ...

  

通过此类可以更轻松地编写测试来验证行为   使用Topology或StreamsBuilder创建的拓扑。你可以测试   具有单个处理器的简单拓扑,或者非常复杂   具有多个源,处理器,接收器或   子拓扑

  

如果拓扑的处理器将消息转发到接收器,则您的测试可以   然后使用这些输出消息来验证它们是否符合预期   结果

我有一个类似followin的Stream配置

stream.
 .join(...)
 .to("topicA")

当我尝试阅读“ topicA” ...

topologyTestDriver.readOutput("topicA");

它抱怨“ topicA”不存在。

我调试了TopologyTestDriver,似乎它有一个名为ProcessorTopology processorTopology的成员变量,也有一个名为Map<String, SinkNode> sinksByTopic的成员,在那里我看到了'topicA'。

此字段接收其他ByTopic,然后初始化,从未通过TopologyTestDriver进行访问,而readOutput除outputRecordsByTopic.get(...)之外均未检查。

所以我的问题是,这是一个错误还是我应该使用其他方法然后再使用readOutput来获取本主题的内容?

0 个答案:

没有答案