Package dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
-
Interface Summary Interface Description AddNewAggregateSnapshotStrategy Strategy for when an aggregate snapshot should be addedAggregateSnapshotDeletionStrategy Strategy for which historic aggregate snapshots (i.e.AggregateSnapshotRepository Repository storing and updating Aggregate instance snapshots -
Class Summary Class Description AddNewAggregateSnapshotStrategy.AddNewSnapshotWhenBehindByNumberOfEvents AggregateSnapshot<ID,AGGREGATE_IMPL_TYPE> Aggregate snapshot loaded usingAggregateSnapshotRepository.loadSnapshot(AggregateType, Object, Class)AggregateSnapshotDeletionStrategy.DeleteAllHistoricSnapshots Strategy that deletes any historic aggregate snapshots when a new snapshot is persistedAggregateSnapshotDeletionStrategy.KeepHistoricSnapshots Strategy that keeps all or a specific number of historic aggregate snapshotsBrokenSnapshot AggregateSnapshot.aggregateSnapshotvalue that's returned fromAggregateSnapshotRepositoryin case the Aggregate snapshot couldn't be deserializedDelayedAddAndDeleteAggregateSnapshotDelegate DelegatingAggregateSnapshotRepositorywhich directly delegates all operations to the provideddelegateRepository, except forAggregateSnapshotRepository.aggregateUpdated(Object, AggregateEventStream),AggregateSnapshotRepository.deleteSnapshots(AggregateType, Object, Class, List), which are performed asynchronously in the background.
This ensures that expensive update/clean-up for aggregate snapshots in the database don't affect aggregate persistence performance.PostgresqlAggregateSnapshotRepository