Automatically rebuild the state after a crash / restart
[demos/kafka/demos-kafka-payment-system-transfer] / src / main / java / de / juplo / kafka / payment / transfer / adapter / NoOpMessageService.java
diff --git a/src/main/java/de/juplo/kafka/payment/transfer/adapter/NoOpMessageService.java b/src/main/java/de/juplo/kafka/payment/transfer/adapter/NoOpMessageService.java
new file mode 100644 (file)
index 0000000..143abf1
--- /dev/null
@@ -0,0 +1,28 @@
+package de.juplo.kafka.payment.transfer.adapter;
+
+import de.juplo.kafka.payment.transfer.domain.Transfer;
+import de.juplo.kafka.payment.transfer.ports.MessagingService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import java.util.concurrent.CompletableFuture;
+
+
+@Component
+@Slf4j
+public class NoOpMessageService implements MessagingService
+{
+  @Override
+  public CompletableFuture<?> send(Transfer transfer)
+  {
+    log.info("restoring transfer: {}", transfer);
+    return CompletableFuture.completedFuture(transfer.toString());
+  }
+
+  @Override
+  public CompletableFuture<?> send(Long id, Transfer.State state)
+  {
+    log.info("restoring state-change for transfer {}: {}", id, state);
+    return CompletableFuture.completedFuture("transfer: " + id + " - " + state);
+  }
+}