The state is periodically stored in a local file, that is read on startup
[demos/kafka/demos-kafka-payment-system-transfer] / src / main / java / de / juplo / kafka / payment / transfer / TransferServiceProperties.java
index ccd22a3..907a8b9 100644 (file)
@@ -5,12 +5,26 @@ import lombok.Getter;
 import lombok.Setter;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
+import java.util.HashMap;
+import java.util.Map;
+
 
 @ConfigurationProperties("juplo.transfer")
 @Getter
 @Setter
 public class TransferServiceProperties
 {
-  String bootstrapServers = "localhost:9092";
-  String topic = "transfers";
+  private String bootstrapServers = "localhost:9092";
+  private String topic = "transfers";
+  private Integer numPartitions = 5;
+  private String groupId = "transfers";
+  private String groupInstanceId;
+  private Map<String, String> instanceIdUriMapping;
+  private String localStateStorePath;
+  private int stateStoreInterval = 60;
+
+  public Map<String, String> getInstanceIdUriMapping()
+  {
+    return instanceIdUriMapping == null ? new HashMap<>() : instanceIdUriMapping;
+  }
 }