NEU
[demos/kafka/chat] / src / main / java / de / juplo / kafka / chat / backend / ChatBackendProperties.java
index 598e8ce..4724f6b 100644 (file)
@@ -12,5 +12,33 @@ import java.nio.file.Paths;
 @Setter
 public class ChatBackendProperties
 {
-  private String datadir = Paths.get(System.getProperty("java.io.tmpdir"),"chat", "backend").toString();
+  private String allowedOrigins = "http://localhost:4200";
+  private int chatroomBufferSize = 8;
+  private ServiceType services = ServiceType.inmemory;
+  private InMemoryServicesProperties inmemory = new InMemoryServicesProperties();
+  private KafkaServicesProperties kafka = new KafkaServicesProperties();
+
+
+  @Getter
+  @Setter
+  public static class InMemoryServicesProperties
+  {
+    private ShardingStrategyType shardingStrategy = ShardingStrategyType.none;
+    private int numShards = 1;
+    private int[] ownedShards = new int[] { 0 };
+    private StorageStrategyType storageStrategy = StorageStrategyType.files;
+    private String storageDirectory = Paths.get(System.getProperty("java.io.tmpdir"),"chat", "backend").toString();
+  }
+
+  @Getter
+  @Setter
+  public static class KafkaServicesProperties
+  {
+    private String topic = "test";
+    private int numPartitions = 2;
+  }
+
+  public enum ServiceType { inmemory }
+  public enum StorageStrategyType { files, mongodb }
+  public enum ShardingStrategyType { none, kafkalike }
 }