diff --git a/debezium-standalone-quarkus/src/main/java/io/debezium/standalone/quarkus/Server.java b/debezium-standalone-quarkus/src/main/java/io/debezium/standalone/quarkus/Server.java index f86f55b34..230f24c8b 100644 --- a/debezium-standalone-quarkus/src/main/java/io/debezium/standalone/quarkus/Server.java +++ b/debezium-standalone-quarkus/src/main/java/io/debezium/standalone/quarkus/Server.java @@ -105,6 +105,9 @@ else if (beans.size() > 1) { if (keyFormat == Json.class && valueFormat == Json.class) { builder = createJsonJson(consumer); } + else if (keyFormat == Json.class && valueFormat == Avro.class) { + builder = createJsonAvro(consumer); + } else if (keyFormat == Avro.class && valueFormat == Avro.class) { builder = createAvroAvro(consumer); } @@ -130,6 +133,12 @@ final DebeziumEngine.Builder createAvroAvro(DebeziumEngine.ChangeConsumer .notifying((DebeziumEngine.ChangeConsumer>) consumer); } + @SuppressWarnings("unchecked") + final DebeziumEngine.Builder createJsonAvro(DebeziumEngine.ChangeConsumer consumer) { + return DebeziumEngine.create(Json.class, Avro.class) + .notifying((DebeziumEngine.ChangeConsumer>) consumer); + } + private Properties configToProperties(Config config) { final Properties props = new Properties(); for (String name : config.getPropertyNames()) {