X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FApplicationConfiguration.java;h=033d0ccd54ed584b6472458b6381de4fd05ac572;hb=6326d5c5f20fa24161ba1a4b7d10ce42cb9d416c;hp=753422e66925cbf57ff0cce3ce9dbf52ebd4bc6e;hpb=41e5f74b40e4a434483dcc4142aaf8224ea5a478;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java index 753422e..033d0cc 100644 --- a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java +++ b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java @@ -8,7 +8,7 @@ import org.apache.kafka.common.serialization.StringSerializer; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; - +import org.springframework.kafka.support.serializer.JsonSerializer; import java.util.Properties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -19,11 +19,11 @@ import java.util.concurrent.Executors; public class ApplicationConfiguration { @Bean - public SumUpRecordHandler sumUpRecordHandler( - KafkaProducer kafkaProducer, + public ApplicationRecordHandler recordHandler( + KafkaProducer kafkaProducer, ApplicationProperties properties) { - return new SumUpRecordHandler( + return new ApplicationRecordHandler( kafkaProducer, properties.getClientId(), properties.getTopicOut()); @@ -33,7 +33,7 @@ public class ApplicationConfiguration public EndlessConsumer endlessConsumer( KafkaConsumer kafkaConsumer, ExecutorService executor, - SumUpRecordHandler sumUpRecordHandler, + ApplicationRecordHandler recordHandler, ApplicationProperties properties) { return @@ -42,7 +42,7 @@ public class ApplicationConfiguration properties.getClientId(), properties.getTopicIn(), kafkaConsumer, - sumUpRecordHandler); + recordHandler); } @Bean @@ -70,7 +70,7 @@ public class ApplicationConfiguration } @Bean(destroyMethod = "close") - public KafkaProducer kafkaProducer(ApplicationProperties properties) + public KafkaProducer kafkaProducer(ApplicationProperties properties) { Properties props = new Properties(); props.put("bootstrap.servers", properties.getBootstrapServer()); @@ -82,7 +82,11 @@ public class ApplicationConfiguration props.put("linger.ms", properties.getLingerMs()); props.put("compression.type", properties.getCompressionType()); props.put("key.serializer", StringSerializer.class.getName()); - props.put("value.serializer", StringSerializer.class.getName()); + props.put("value.serializer", JsonSerializer.class.getName()); + props.put(JsonSerializer.TYPE_MAPPINGS, + "ADD:" + AddNumberMessage.class.getName() + "," + + "CALC:" + CalculateSumMessage.class.getName()); + return new KafkaProducer<>(props); }