Cómo omitir los mensajes corruptos (no-serializable) en la primavera de Kafka Consumidor?

Shankar PS:

Esta pregunta es para la primavera Kafka, relacionada con Apache Kafka con alto nivel de consumidor: Skip dañado mensajes

¿Hay una manera de configurar la primavera Kafka consumidor para saltar un disco que no se puede leer / procesada (es corrupto)?

Estoy viendo una situación en la que el consumidor se queda atascado en el mismo registro si no se puede deserializar. Este es el error lanza el consumidor.

Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not construct instance of java.time.LocalDate: no long/Long-argument constructor/factory method to deserialize from Number value 

Las encuestas entre los consumidores el tema y sólo sigue imprimiendo el mismo error en un bucle hasta que el programa se mata.

En una @KafkaListener que tiene las siguientes configuraciones de fábrica del Consumidor,

Map<String, Object> props = new HashMap<>();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapServers);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class);
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, JsonDeserializer.class);
Arteta:

Es necesario ErrorHandlingDeserializer: https://docs.spring.io/spring-kafka/docs/2.2.0.RELEASE/reference/html/_reference.html#error-handling-deserializer

Si no se puede mover a esa 2.2versión, considere implementar su propio y regresar nullpara aquellos registros que no se puede deserializar correctamente.

El código fuente está aquí: https://github.com/spring-projects/spring-kafka/blob/master/spring-kafka/src/main/java/org/springframework/kafka/support/serializer/ErrorHandlingDeserializer2.java

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=199242&siteId=1
Recomendado
Clasificación