Как создать / смоделировать создание исключения десериализации при использовании реестра схемы (помимо брокеров и зоопарков) - PullRequest
0 голосов
/ 12 февраля 2020

Мы используем spring-kafka-2.2.7.RELEASE для создания и использования сообщений avro и используем реестр схемы для проверки схемы с помощью FORWARD_TRANSITIVE в качестве типа совместимости. Теперь я пытаюсь использовать ErrorHandlingDeserializer2 из spring-kafka для обработки исключения / ошибки, когда десериализатору не удается десериализовать сообщение. Сейчас я пытаюсь написать компонентный тест для проверки этой конфигурации. Ожидается, что мой тест компонента будет состоять из следующих шагов:

  1. Раскрутите локальный кластер kafka, используя docker контейнеры

  2. Отправьте авро-сообщение (используя KafkaTemplate) с недопустимой схемой для повторного создания / имитации исключения десериализации в тестовой топи c

Теперь, что происходит, поскольку у нас есть реестр схемы, если я отправляю сообщение с новой схемой (недопустимая схема) проверяет схему в соответствии с имеющейся у нас настройкой типа совместимости и не позволяет мне создать сообщение для kafka, выдав исключение на самом уровне производителя.

Теперь мой вопрос заключается в том, В этом сценарии, как я могу создать / смоделировать исключение десериализации для проверки моей конфигурации. Пожалуйста, предложите.

Примечание: - Я не хочу отключать / останавливать реестр схемы, потому что это не имитирует нашу настройку prod.

...