refactor: Moved `ShardingStrategy` into package `persistence` -- ALIGNE
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / storage / mongodb / MongoDbStorageConfiguration.java
index 0a3df75..e6f7149 100644 (file)
@@ -1,18 +1,15 @@
 package de.juplo.kafka.chat.backend.persistence.storage.mongodb;
 
-import de.juplo.kafka.chat.backend.ChatBackendProperties;
+import de.juplo.kafka.chat.backend.persistence.ShardingStrategy;
 import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
-import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 
-import java.time.Clock;
-
 
 @ConditionalOnProperty(
-    prefix = "chat.backend",
-    name = "storage",
+    prefix = "chat.backend.inmemory",
+    name = "storage-strategy",
     havingValue = "mongodb")
 @Configuration
 public class MongoDbStorageConfiguration
@@ -20,13 +17,12 @@ public class MongoDbStorageConfiguration
   @Bean
   public StorageStrategy storageStrategy(
       ChatRoomRepository chatRoomRepository,
-      ChatBackendProperties properties,
-      Clock clock)
+      MessageRepository messageRepository,
+      ShardingStrategy shardingStrategy)
   {
     return new MongoDbStorageStrategy(
         chatRoomRepository,
-        clock,
-        properties.getChatroomBufferSize(),
-        messageFlux -> new InMemoryChatRoomService(messageFlux));
+        messageRepository,
+        shardingStrategy);
   }
 }