Package io.fluxcapacitor.common.tracking
Interface PositionStore
- All Known Implementing Classes:
InMemoryPositionStore
public interface PositionStore
Interface for storing and retrieving
Position
objects representing the last processed message indexes
per segment for a given consumer.
A Position
tracks consumption progress on a per-segment basis. This enables distributed, parallel
consumption and accurate replay/resume behavior in Flux Capacitor.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes any underlying resources held by the store.Retrieves the full multi-segment position for the given consumer.resetPosition
(String consumer, long lastIndex) Resets the position of the consumer for all segments to the given index.storePosition
(String consumer, int[] segment, long lastIndex) Stores the latest processed index for a given segment range and consumer.
-
Method Details
-
storePosition
Stores the latest processed index for a given segment range and consumer.- Parameters:
consumer
- the consumer name (e.g., the tracking processor)segment
- the segment range for which this index applieslastIndex
- the last index successfully handled- Returns:
- a future that completes when the position is stored
-
resetPosition
Resets the position of the consumer for all segments to the given index.- Parameters:
consumer
- the consumer namelastIndex
- the new index to assign for all segments- Returns:
- a future that completes when the reset is applied
-
position
Retrieves the full multi-segment position for the given consumer.- Parameters:
consumer
- the consumer name- Returns:
- the current
Position
of that consumer
-
close
void close()Closes any underlying resources held by the store.
-