From 8c52dcf034895903a49103ae5f69e3dbf6dfc33c Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Thu, 11 Jun 2026 19:19:06 +0200 Subject: [PATCH] Umstellung auf die Message-Bibliothek sumup-messages --- build.gradle | 1 + pom.xml | 6 ++++++ .../java/de/juplo/kafka/AddNumberMessage.java | 11 ----------- .../de/juplo/kafka/ApplicationConfiguration.java | 15 +++++++++------ .../java/de/juplo/kafka/CalculateSumMessage.java | 11 ----------- .../java/de/juplo/kafka/ExampleProducer.java | 16 ++++++++-------- src/main/java/de/juplo/kafka/SumupMessage.java | 5 ----- 7 files changed, 24 insertions(+), 41 deletions(-) delete mode 100644 src/main/java/de/juplo/kafka/AddNumberMessage.java delete mode 100644 src/main/java/de/juplo/kafka/CalculateSumMessage.java delete mode 100644 src/main/java/de/juplo/kafka/SumupMessage.java diff --git a/build.gradle b/build.gradle index f97308f5..6e259880 100644 --- a/build.gradle +++ b/build.gradle @@ -29,6 +29,7 @@ dependencies { implementation 'org.springframework.boot:spring-boot-starter-actuator' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'de.juplo.messages:sumup-messages:1.0-SNAPSHOT' compileOnly 'org.projectlombok:lombok' developmentOnly 'org.springframework.boot:spring-boot-devtools' annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' diff --git a/pom.xml b/pom.xml index 0d31c7f2..c82257b6 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,7 @@ 21 + 1.0-SNAPSHOT @@ -43,6 +44,11 @@ org.springframework.boot spring-boot-starter-kafka + + de.juplo.messages + sumup-messages + ${sumup-messages.version} + org.projectlombok lombok diff --git a/src/main/java/de/juplo/kafka/AddNumberMessage.java b/src/main/java/de/juplo/kafka/AddNumberMessage.java deleted file mode 100644 index deb6350e..00000000 --- a/src/main/java/de/juplo/kafka/AddNumberMessage.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.juplo.kafka; - -import lombok.Value; - - -@Value -public class AddNumberMessage implements SumupMessage -{ - private final int number; - private final int next; -} diff --git a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java index aac39623..dc266292 100644 --- a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java +++ b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java @@ -1,5 +1,8 @@ package de.juplo.kafka; +import de.juplo.messages.Add; +import de.juplo.messages.Calculate; +import de.juplo.messages.Message; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.ConfigurableApplicationContext; @@ -25,7 +28,7 @@ public class ApplicationConfiguration public ExampleProducer exampleProducer( @Value("${spring.kafka.client-id}") String clientId, ApplicationProperties properties, - KafkaTemplate kafkaTemplate, + KafkaTemplate kafkaTemplate, ConfigurableApplicationContext applicationContext) { return @@ -41,11 +44,11 @@ public class ApplicationConfiguration } @Bean - public KafkaTemplate kafkaTemplate( - ProducerFactory producerFactory, + public KafkaTemplate kafkaTemplate( + ProducerFactory producerFactory, JacksonJsonMessageConverter jacksonJsonMessageConverter) { - KafkaTemplate template = new KafkaTemplate<>(producerFactory); + KafkaTemplate template = new KafkaTemplate<>(producerFactory); template.setMessageConverter(jacksonJsonMessageConverter); return template; @@ -60,8 +63,8 @@ public class ApplicationConfiguration // Verwende eine einfache, kurze Type-ID anstatt FQN typeMapper.setTypePrecedence(JacksonJavaTypeMapper.TypePrecedence.TYPE_ID); Map> typeMappings = new HashMap<>(); - typeMappings.put("ADD", AddNumberMessage.class); - typeMappings.put("CALC", CalculateSumMessage.class); + typeMappings.put("ADD", Add.class); + typeMappings.put("CALC", Calculate.class); typeMapper.setIdClassMapping(typeMappings); converter.setTypeMapper(typeMapper); diff --git a/src/main/java/de/juplo/kafka/CalculateSumMessage.java b/src/main/java/de/juplo/kafka/CalculateSumMessage.java deleted file mode 100644 index 6aa0121a..00000000 --- a/src/main/java/de/juplo/kafka/CalculateSumMessage.java +++ /dev/null @@ -1,11 +0,0 @@ -package de.juplo.kafka; - - -import lombok.Value; - - -@Value -public class CalculateSumMessage implements SumupMessage -{ - private final int number; -} diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index 8f52ce4c..b05a84ad 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -1,10 +1,10 @@ package de.juplo.kafka; +import de.juplo.messages.*; import lombok.extern.slf4j.Slf4j; import org.apache.kafka.clients.producer.RecordMetadata; import org.springframework.kafka.core.KafkaTemplate; import org.springframework.kafka.support.KafkaHeaders; -import org.springframework.messaging.Message; import org.springframework.messaging.support.MessageBuilder; import java.time.Duration; @@ -16,7 +16,7 @@ public class ExampleProducer implements Runnable private final String id; private final String topic; private final Duration throttle; - private final KafkaTemplate kafkaTemplate; + private final KafkaTemplate kafkaTemplate; private final Thread workerThread; private final Runnable closeCallback; @@ -28,7 +28,7 @@ public class ExampleProducer implements Runnable String id, String topic, Duration throttle, - KafkaTemplate kafkaTemplate, + KafkaTemplate kafkaTemplate, Runnable closeCallback) { this.id = id; @@ -53,9 +53,9 @@ public class ExampleProducer implements Runnable for (; running; i++) { int number = (int) i % 10; - SumupMessage message = (i % 7 == 0) - ? new CalculateSumMessage(number) - : new AddNumberMessage(number, (int)i); + Message message = (i % 7 == 0) + ? Calculate.builder().number(number).build() + : Add.builder().number(number).next((int)i).build(); send(Long.toString(number), message); @@ -84,11 +84,11 @@ public class ExampleProducer implements Runnable } } - void send(String key, SumupMessage value) + void send(String key, de.juplo.messages.Message value) { final long sendRequested = System.currentTimeMillis(); - Message message = MessageBuilder + org.springframework.messaging.Message message = MessageBuilder .withPayload(value) .setHeader(KafkaHeaders.TOPIC, topic) .setHeader(KafkaHeaders.KEY, key) diff --git a/src/main/java/de/juplo/kafka/SumupMessage.java b/src/main/java/de/juplo/kafka/SumupMessage.java deleted file mode 100644 index 739efd1e..00000000 --- a/src/main/java/de/juplo/kafka/SumupMessage.java +++ /dev/null @@ -1,5 +0,0 @@ -package de.juplo.kafka; - -public interface SumupMessage -{ -} -- 2.39.5