Как добавить встроенную кафку в приложение SpringBoot - PullRequest
0 голосов
/ 17 января 2019

Я использую Kafka и Springboot в своем проекте, теперь у меня есть внешний кластер Kafka и проект микросервиса SpringBoot.

Используя файл yml, я успешно создаю Kafka Producer и потребителя, а затем и приложение, и kafka прекрасно взаимодействуют.

Теперь я хочу использовать встроенный kafka в моем проекте sprintboot. Что-то вроде встроенного после кода Activemq.

spring:

  # Embedded ActiveMQ Configuration Example
  activemq:
      broker-url: vm://embedded?broker.persistent=false,useShutdownHook=false
      in-memory: true
      non-blocking-redelivery: true

Я гуглил и прочитал много статей о том же, но не смог получить ясную картину. Здесь я не хочу этот встроенный сервер только для тестирования Junit, но
хочу провести функциональное тестирование без установки какого-либо внешнего компонента Kafka в моей экосистеме.

Я действительно не знаю, как это сделать, может кто-нибудь помочь мне в этом.

Заранее спасибо

1 Ответ

0 голосов
/ 17 января 2019

Добавить зависимость

    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka-test</artifactId>
        <scope>test</scope>
    </dependency>

Создайте что-то похожее в своем тесте

    public static KafkaEmbedded embeddedKafka = new KafkaEmbedded(2, true, 2, "messages");

и вы готовы его использовать - неважно, функциональный или модульный тест.

Вы можете указать количество брокеров, разделов и т. Д.

Вы можете настроить производителя и потребителя так же, как и в противном случае.

...