Interface DurableStateStoreBySliceQuery<A>
-
- All Superinterfaces:
DurableStateStore<A>
- All Known Implementing Classes:
PersistenceTestKitDurableStateStore
public interface DurableStateStoreBySliceQuery<A> extends DurableStateStore<A>
Query API for reading durable state objects.For Java API see
DurableStateStoreBySliceQuery.API May Change
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Source<DurableStateChange<A>,NotUsed>changesBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)Get a source of the most recent changes made to objects of the given slice range since the passed in offset.Source<DurableStateChange<A>,NotUsed>currentChangesBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)Get a source of the most recent changes made to objects with the given slice range since the passed in offset.intsliceForPersistenceId(java.lang.String persistenceId)scala.collection.immutable.Seq<scala.collection.immutable.Range>sliceRanges(int numberOfRanges)-
Methods inherited from interface org.apache.pekko.persistence.state.scaladsl.DurableStateStore
getObject
-
-
-
-
Method Detail
-
changesBySlices
Source<DurableStateChange<A>,NotUsed> changesBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)
Get a source of the most recent changes made to objects of the given slice range since the passed in offset.A slice is deterministically defined based on the persistence id. The purpose is to evenly distribute all persistence ids over the slices.
The returned source will never terminate, it effectively watches for changes to the objects and emits changes as they happen.
Not all changes that occur are guaranteed to be emitted, this call only guarantees that eventually, the most recent change for each object since the offset will be emitted. In particular, multiple updates to a given object in quick succession are likely to be skipped, with only the last update resulting in a change from this source.
The
pekko.persistence.query.DurableStateChangeelements can bepekko.persistence.query.UpdatedDurableStateorpekko.persistence.query.DeletedDurableState.
-
currentChangesBySlices
Source<DurableStateChange<A>,NotUsed> currentChangesBySlices(java.lang.String entityType, int minSlice, int maxSlice, Offset offset)
Get a source of the most recent changes made to objects with the given slice range since the passed in offset.A slice is deterministically defined based on the persistence id. The purpose is to evenly distribute all persistence ids over the slices.
Note that this only returns the most recent change to each object, if an object has been updated multiple times since the offset, only the most recent of those changes will be part of the stream.
This will return changes that occurred up to when the
Sourcereturned by this call is materialized. Changes to objects made since materialization are not guaranteed to be included in the results.The
pekko.persistence.query.DurableStateChangeelements can bepekko.persistence.query.UpdatedDurableStateorpekko.persistence.query.DeletedDurableState.
-
sliceForPersistenceId
int sliceForPersistenceId(java.lang.String persistenceId)
-
sliceRanges
scala.collection.immutable.Seq<scala.collection.immutable.Range> sliceRanges(int numberOfRanges)
-
-