Apache kafka 卡夫卡-Suppress未按预期限制流

Apache kafka 卡夫卡-Suppress未按预期限制流,apache-kafka,apache-kafka-streams,Apache Kafka,Apache Kafka Streams,我正在尝试使用Kafka流进行一个简单的概念验证,我基本上希望限制来自主题的传入记录流,因为它们将被发送到外部API 我想成批使用此流,可以是最大记录数,也可以是时间限制(例如,发送2条未处理的记录,或者在10秒后发送所有记录) 据我所知,我应该能够使用suppress实现这一点,但是在我的以下示例中,suppress不会向我的mapValues函数发出任何事件: KStream<String, String> stream = builder.stream(inputTopic);

我正在尝试使用Kafka流进行一个简单的概念验证,我基本上希望限制来自主题的传入记录流,因为它们将被发送到外部API

我想成批使用此流,可以是最大记录数,也可以是时间限制(例如,发送2条未处理的记录,或者在10秒后发送所有记录)

据我所知,我应该能够使用suppress实现这一点,但是在我的以下示例中,suppress不会向我的mapValues函数发出任何事件:

KStream<String, String> stream = builder.stream(inputTopic);
stream
  .toTable()
  .suppress(Suppressed.untilTimeLimit(Duration.ofSeconds(10), Suppressed.BufferConfig.maxRecords(2)))
  .mapValues(v -> {
    System.out.println("text: " + v);
    return v;
  });
KStream stream=builder.stream(inputTopic);
流动
.toTable()
.suppress(supprested.untilTimeLimit(持续时间秒(10),supprested.BufferConfig.maxRecords(2)))
.mapValues(v->{
System.out.println(“文本:+v”);
返回v;
});
如果我对取消调用进行注释,则事件将正常显示

我遗漏了什么,我如何才能实现我所描述的