Поскольку у вас решена проблема с доверенным пакетом, для вашей следующей проблемы вы можете воспользоваться перегруженным
DefaultKafkaConsumerFactory(Map<String, Object> configs,
Deserializer<K> keyDeserializer,
Deserializer<V> valueDeserializer)
и JsonDeserializer «обертка» пружинной кафки
JsonDeserializer(Class<T> targetType, ObjectMapper objectMapper)
Объединяя вышесказанное, для Java у меня есть:
new DefaultKafkaConsumerFactory<>(properties,
new IntegerDeserializer(),
new JsonDeserializer<>(Foo.class,
new ObjectMapper()
.registerModules(new KotlinModule(), new JavaTimeModule()).setSerializationInclusion(JsonInclude.Include.NON_NULL)
.setDateFormat(new ISO8601DateFormat()).configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false))));
По сути, вы можете указать фабрике использовать ваши собственные десериализаторы, а для Json - свой собственный ObjectMapper. Там вы можете зарегистрировать модуль Kotlin, а также настроить форматы даты и другие вещи.