feat: Implemented new Default-`StorageStrategy` `none'
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / persistence / storage / files / FilesStorageConfiguration.java
index 31e285c..702d1d5 100644 (file)
@@ -2,6 +2,7 @@ package de.juplo.kafka.chat.backend.persistence.storage.files;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import de.juplo.kafka.chat.backend.ChatBackendProperties;
+import de.juplo.kafka.chat.backend.domain.ShardingStrategy;
 import de.juplo.kafka.chat.backend.persistence.StorageStrategy;
 import de.juplo.kafka.chat.backend.persistence.inmemory.InMemoryChatRoomService;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
@@ -16,10 +17,9 @@ import java.time.Clock;
 
 
 @ConditionalOnProperty(
-    prefix = "chat.backend",
-    name = "storage",
-    havingValue = "files",
-    matchIfMissing = true)
+    prefix = "chat.backend.inmemory",
+    name = "storage-strategy",
+    havingValue = "files")
 @Configuration
 @EnableAutoConfiguration(
     exclude = {
@@ -31,12 +31,14 @@ public class FilesStorageConfiguration
   public StorageStrategy storageStrategy(
       ChatBackendProperties properties,
       Clock clock,
+      ShardingStrategy shardingStrategy,
       ObjectMapper mapper)
   {
     return new FilesStorageStrategy(
-        Paths.get(properties.getStorageDirectory()),
+        Paths.get(properties.getInmemory().getStorageDirectory()),
         clock,
         properties.getChatroomBufferSize(),
+        shardingStrategy,
         messageFlux -> new InMemoryChatRoomService(messageFlux),
         mapper);
   }