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