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 / ports / TransferRepository.java
1 package de.juplo.kafka.payment.transfer.ports;
2
3 import de.juplo.kafka.payment.transfer.domain.Transfer;
4
5 import java.util.Map;
6 import java.util.Optional;
7
8
9 public interface TransferRepository
10 {
11   void store(Transfer transfer);
12
13   Optional<Transfer> get(Long id);
14
15   void remove(Long id);
16
17   long activatePartition(int partition);
18
19   void deactivatePartition(int partition, long offset);
20
21   long storedPosition(int partition);
22
23   void storeState(Map<Integer, Long> offsets);
24 }