From 4abf476343b30a4331ca1858f9ab1b4e5a5df7b4 Mon Sep 17 00:00:00 2001 From: ozangunalp Date: Tue, 20 Dec 2022 16:46:04 +0000 Subject: [PATCH] Kafka ui RPC creates own ObjectMapper Fixes #29976 (cherry picked from commit 0b76f7213266cb0849fb2bac97004ab35cadc771) --- .../kafka/client/runtime/ui/KafkaUiUtils.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/extensions/kafka-client/runtime/src/main/java/io/quarkus/kafka/client/runtime/ui/KafkaUiUtils.java b/extensions/kafka-client/runtime/src/main/java/io/quarkus/kafka/client/runtime/ui/KafkaUiUtils.java index 862fdcfeb2d2d..bc9b3ba525dbd 100644 --- a/extensions/kafka-client/runtime/src/main/java/io/quarkus/kafka/client/runtime/ui/KafkaUiUtils.java +++ b/extensions/kafka-client/runtime/src/main/java/io/quarkus/kafka/client/runtime/ui/KafkaUiUtils.java @@ -2,7 +2,12 @@ import static io.quarkus.kafka.client.runtime.ui.util.ConsumerFactory.createConsumer; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.concurrent.ExecutionException; import java.util.stream.Collectors; @@ -17,7 +22,10 @@ import org.apache.kafka.common.TopicPartition; import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +import com.fasterxml.jackson.databind.json.JsonMapper; import io.quarkus.kafka.client.runtime.KafkaAdminClient; import io.quarkus.kafka.client.runtime.ui.model.Order; @@ -37,12 +45,15 @@ public class KafkaUiUtils { private final Map config; - public KafkaUiUtils(KafkaAdminClient kafkaAdminClient, KafkaTopicClient kafkaTopicClient, ObjectMapper objectMapper, + public KafkaUiUtils(KafkaAdminClient kafkaAdminClient, KafkaTopicClient kafkaTopicClient, @Identifier("default-kafka-broker") Map config) { this.kafkaAdminClient = kafkaAdminClient; this.kafkaTopicClient = kafkaTopicClient; - this.objectMapper = objectMapper; this.config = config; + this.objectMapper = JsonMapper.builder() + .disable(SerializationFeature.FAIL_ON_EMPTY_BEANS) + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) + .build(); } public KafkaInfo getKafkaInfo() throws ExecutionException, InterruptedException {