Функция Spring Cloud и Kafka - PullRequest
0 голосов
/ 08 мая 2020

Я изо всех сил пытаюсь понять, как я должен go тестировать приложение, которое использует 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

Как мне go это протестировать? Если бы я использовал @StreamListener и список каналов, я бы сделал что-то вроде этого:

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

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

Однако для Spring Cloud Function это не так. Любая помощь очень приветствуется, так как я ничего не могу найти в официальных документах или образцах!

1 Ответ

0 голосов
/ 08 мая 2020

См. Образец «Тестирование с помощью встроенного брокера Kafka»:

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

и Spring для Apache документации Kafka для получения дополнительной информации -дата информация о встроенном брокере.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...