春カフカ消費者に破損している(非直列化可能)メッセージをスキップする方法は?

シャンカールPS:

この質問はに関連した春カフカ、ためであるハイレベルの消費者とのApacheカフカ:スキップ、メッセージを壊れました

(壊れている)/読み出し処理できないレコードをスキップするように設定春カフカの消費者に方法はありますか?

私はそれが直列化復元することができない場合、消費者が同じレコードに立ち往生状況を見ています。これは、消費者がスローエラーです。

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 

消費者のポーリングトピックとちょうどプログラムが殺されるまでループで同じエラーを印刷し続けます。

以下の消費者の工場出荷時の設定を持っている@KafkaListenerで、

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);
アルテタ:

あなたが必要とするErrorHandlingDeserializerhttps://docs.spring.io/spring-kafka/docs/2.2.0.RELEASE/reference/html/_reference.html#error-handling-deserializer

あなたがそれに移動できない場合は2.2、バージョン、独自のものを実装して返すように考えるnull正しく非直列化することができないそれらのレコードのために。

ソースコードはここにある:https://github.com/spring-projects/spring-kafka/blob/master/spring-kafka/src/main/java/org/springframework/kafka/support/serializer/ErrorHandlingDeserializer2.java

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=199239&siteId=1