Интеграционные тесты с Apache Kafka

На самом деле существует проект EmbeddedKafka, но мы пойдём другим путём. Представьте, что вы подключили kafka-maven-plugin, ну или каким-нибудь другим способом запускаете Kafka для интеграционных тестов.

Скорее всего, у вас возникнет проблема с тем, что сообщения из kafka могут не приходить или приходить с опозданием.

Такая проблема возникает из-за того, что когда вы внутри интеграционного теста в метода с пометкой @Before  подключаете Consumer к какому-нибудь топику Kafka, то это запускает процесс переназначения партиций и consumer-ов для подключения нового consumer-а. И новый consumer не будет считывать из очереди сообщения до окончания этого процесса, который, кстати, происходит асинхронно.

Для того чтобы дождаться окончания переназначения партиций и consumer-ов нужно использовать метод:

 


Поделиться:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 4,00 из 5)
Загрузка...

Добавить комментарий

Ваш e-mail не будет опубликован.

*