NEU
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / kafka / KafkaChatRoomService.java
index 3a8c2c6..0986194 100644 (file)
@@ -1,11 +1,8 @@
 package de.juplo.kafka.chat.backend.persistence.kafka;
 
 import de.juplo.kafka.chat.backend.domain.ChatRoomService;
-import de.juplo.kafka.chat.backend.domain.Message;
-import de.juplo.kafka.chat.backend.domain.MessageMutationException;
-import lombok.RequiredArgsConstructor;
+import de.juplo.kafka.chat.backend.domain.Message;import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.kafka.clients.producer.ProducerRecord;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
@@ -18,7 +15,7 @@ import java.util.UUID;
 @Slf4j
 public class KafkaChatRoomService implements ChatRoomService
 {
-  private final KafkaChatHomeService kafkaChatHomeService;
+  private final ChatMessageChannel chatMessageChannel;
   private final UUID chatRoomId;
 
   private final LinkedHashMap<Message.MessageKey, Message> messages = new LinkedHashMap<>();
@@ -30,21 +27,19 @@ public class KafkaChatRoomService implements ChatRoomService
     LocalDateTime timestamp,
     String text)
   {
-    return kafkaChatHomeService
+    return chatMessageChannel
         .sendMessage(chatRoomId, key, timestamp, text)
         .doOnSuccess(message -> persistMessage(message));
   }
 
-  public void persistMessage(Message message)
+  void persistMessage(Message message)
   {
-    messages.put(message.getKey(), message)
+    messages.put(message.getKey(), message);
   }
 
   @Override
   synchronized public Mono<Message> getMessage(Message.MessageKey key)
   {
-    // TODO: Aufrufe, auf eine Nachricht (einge gewisse Zeit) warten lassen
-    // und dann bedienen, wenn der der Callback vom Producer aufgerufen wird?
     return Mono.fromSupplier(() -> messages.get(key));
   }