X-Git-Url: http://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FMessageHandler.java;fp=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fkafka%2FMessageHandler.java;h=2f58f6599102f6770ab6c9f07c112b241a420a95;hb=17360fbf2f944f6818c748ed1235264b7d8d28a4;hp=0000000000000000000000000000000000000000;hpb=ae8d6e6f4144cdef108b8d13e005b0f869599a77;p=demos%2Fkafka%2Ftraining diff --git a/src/main/java/de/juplo/kafka/MessageHandler.java b/src/main/java/de/juplo/kafka/MessageHandler.java new file mode 100644 index 0000000..2f58f65 --- /dev/null +++ b/src/main/java/de/juplo/kafka/MessageHandler.java @@ -0,0 +1,44 @@ +package de.juplo.kafka; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; + + +@RequiredArgsConstructor +@Slf4j +public class MessageHandler +{ + private final String id; + + private final AdderBusinessLogic adder; + + + public void addNumber( + String user, + MessageAddNumber message) + { + adder.addToSum(user, message.getNext()); + } + + public void calculateSum( + String user, + MessageCalculateSum message) + { + AdderResult result = adder.calculate(user); + log.info("{} - New result for {}: {}", id, user, result); + } + + public void handle(String user, Message message) + { + switch(message.getType()) + { + case ADD: + addNumber(user, (MessageAddNumber) message); + break; + + case CALC: + calculateSum(user, (MessageCalculateSum) message); + break; + } + } +}