feat: The size buffer for listeners to a chatroom is configurable
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / InMemoryChatroomFactory.java
index 231eb37..a405be9 100644 (file)
@@ -2,22 +2,24 @@ package de.juplo.kafka.chat.backend.persistence;
 
 import de.juplo.kafka.chat.backend.domain.Chatroom;
 import de.juplo.kafka.chat.backend.domain.ChatroomFactory;
-import de.juplo.kafka.chat.backend.domain.PersistenceStrategy;
 import lombok.RequiredArgsConstructor;
 
+import java.util.LinkedHashMap;
 import java.util.UUID;
 
 
 @RequiredArgsConstructor
 public class InMemoryChatroomFactory implements ChatroomFactory<InMemoryPersistenceStrategy>
 {
-  private final PersistenceStrategy persistenceStrategy;
+  private final int bufferSize;
 
 
   @Override
   public Chatroom createChatroom(UUID id, String name)
   {
-    return new Chatroom(id, name, persistenceStrategy);
+    InMemoryPersistenceStrategy persistenceStrategy =
+        new InMemoryPersistenceStrategy(new LinkedHashMap<>());
+    return new Chatroom(id, name, persistenceStrategy, bufferSize);
   }
 
   @Override
@@ -26,6 +28,6 @@ public class InMemoryChatroomFactory implements ChatroomFactory<InMemoryPersiste
       String name,
       InMemoryPersistenceStrategy persistenceStrategy)
   {
-    return new Chatroom(id, name, persistenceStrategy);
+    return new Chatroom(id, name, persistenceStrategy, bufferSize);
   }
 }