1 package de.juplo.kafka.chat.backend;
5 import org.springframework.boot.context.properties.ConfigurationProperties;
7 import java.nio.file.Paths;
10 @ConfigurationProperties("chat.backend")
13 public class ChatBackendProperties
15 private String allowedOrigins = "http://localhost:4200";
16 private int chatroomBufferSize = 8;
17 private ServiceType services = ServiceType.inmemory;
18 private InMemoryServicesProperties inmemory = new InMemoryServicesProperties();
23 public static class InMemoryServicesProperties
25 private ShardingStrategyType shardingStrategy = ShardingStrategyType.none;
26 private int numShards = 1;
27 private int[] ownedShards = new int[] { 0 };
28 private StorageStrategyType storageStrategy = StorageStrategyType.files;
29 private String storageDirectory = Paths.get(System.getProperty("java.io.tmpdir"),"chat", "backend").toString();
32 public enum ServiceType { inmemory }
33 public enum StorageStrategyType { files, mongodb }
34 public enum ShardingStrategyType { none, kafkalike }