Как добавить встроенную кафку в приложение SpringBoot

Я использую 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 ответ

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

    <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");

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

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

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

Другие вопросы по тегам