Spring Cloud函数和Kafka

问题描述 投票:0回答:1

我正在努力理解应该如何测试使用Kafka Binder同时还使用Spring Cloud功能的应用程序。

让我们使用这个非常简单的示例:

@SpringBootApplication
public class DemoKafkaApplication {

public static void main(String[] args) {
    SpringApplication.run(DemoKafkaApplication.class, args);
}

@Bean
public Function<String, String> uppercase() {
    return value -> value.toUpperCase();
}

}

在我的application.yaml上:

spring.cloud:
  stream:
    function:
      definition: uppercase
    bindings:
      uppercase-in-0:
      destination:  uppercase-topic

我将如何进行测试?如果我使用@StreamListener和Channels列表,则将执行以下操作:

 channels.uppercase().send(MessageBuilder.withPayload("test").build());

 messageCollector.forChannel(channels.uppercaseOutput()).poll(5, TimeUnit.SECONDS);

但是,对于Spring Cloud Function并非如此。非常感谢任何帮助,因为我在官方文档或示例中找不到任何内容!

spring-cloud-stream spring-cloud-stream-binder-kafka spring-cloud-function
1个回答
0
投票

请参见“使用嵌入式Kafka Broker测试”示例:

https://github.com/spring-cloud/spring-cloud-stream-samples/tree/master/testing-samples/test-embedded-kafka

和Spring for Apache Kafka文档,获取有关嵌入式代理的更多最新信息。

https://docs.spring.io/spring-kafka/docs/2.4.6.RELEASE/reference/html/#testing

© www.soinside.com 2019 - 2024. All rights reserved.