Тестирование интеграции Flink-Kafka - PullRequest
0 голосов
/ 03 августа 2020

Как настроить среду модульного тестирования, в которой я могу создавать темы Kafka, писать в них с помощью FlinkKafkaProducer и читать из них с помощью FlinkKafkaConsumer? .

Максимум, что мне удалось получить, это следующее

val server = new KafkaTestEnvironmentImpl()
server.prepare(KafkaTestEnvironment.createConfig().setKafkaServersNumber(1))
server.createTestTopic("my.test.topic", 1, 1)
server.shutdown()

Но это вызывает ошибку java.lang.NoClassDefFoundError: kafka/admin/RackAwareMode. Я не уверен, является ли попытка устранить эту ошибку лучшим способом действий или существует более простое решение.

1 Ответ

1 голос
/ 03 августа 2020

Я настоятельно рекомендую пользователю подход, основанный на docker, например testcontainers . Настройка Kafka настолько проста, насколько это возможно.

Если вам нужно ввести данные, существует другая структура , которая позволяет вам поддерживать темы и легко добавлять данные. Если его можно использовать вместе с testcontainers или если вам действительно нужен Kafka только как внешняя система, он может даже полностью заменить его.

...