Uses of Interface
dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
Packages that use AggregateSnapshotRepository
Package
Description
-
Uses of AggregateSnapshotRepository in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Methods in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider with parameters of type AggregateSnapshotRepositoryModifier and TypeMethodDescriptionstatic <CONFIG extends dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.persistence.AggregateEventStreamConfiguration,ID, COMMAND, EVENT, ERROR, STATE>
CommandHandler<COMMAND,EVENT, ERROR> CommandHandler.deciderBasedCommandHandler(dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.ConfigurableEventStore<CONFIG> eventStore, dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.eventstream.AggregateType aggregateType, Class<ID> aggregateIdType, AggregateIdResolver<COMMAND, ID> aggregateIdFromCommandResolver, AggregateIdResolver<EVENT, ID> aggregateIdFromEventResolver, AggregateSnapshotRepository aggregateSnapshotRepository, Class<STATE> stateType, Decider<COMMAND, EVENT, ERROR, STATE> decider) Create an instance of aCommandHandlerthat is responsible for loading any existing AggregateSTATEfrom the underlyingEventStoreand coordinate persisting any changes to the Aggregate, in the form ofEVENT's, to theEventStoreas part of an activeUnitOfWork(if one exists)
The actual logic is delegated to an instance of aDecider -
Uses of AggregateSnapshotRepository in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot
Classes in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot that implement AggregateSnapshotRepositoryModifier and TypeClassDescriptionclassDelegatingAggregateSnapshotRepositorywhich directly delegates all operations to the provideddelegateRepository, except foraggregateUpdated(Object, AggregateEventStream),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.classMethods in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot that return AggregateSnapshotRepositoryModifier and TypeMethodDescriptionstatic AggregateSnapshotRepositoryDelayedAddAndDeleteAggregateSnapshotDelegate.delegateTo(AggregateSnapshotRepository delegateRepository) Methods in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot with parameters of type AggregateSnapshotRepositoryModifier and TypeMethodDescriptionstatic AggregateSnapshotRepositoryDelayedAddAndDeleteAggregateSnapshotDelegate.delegateTo(AggregateSnapshotRepository delegateRepository) Constructors in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot with parameters of type AggregateSnapshotRepositoryModifierConstructorDescriptionDelayedAddAndDeleteAggregateSnapshotDelegate(AggregateSnapshotRepository delegateRepository) -
Uses of AggregateSnapshotRepository in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful
Methods in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful with parameters of type AggregateSnapshotRepositoryModifier and TypeMethodDescriptionstatic <CONFIG extends dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.persistence.AggregateEventStreamConfiguration,ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE>>
StatefulAggregateRepository<ID,EVENT_TYPE, AGGREGATE_IMPL_TYPE> StatefulAggregateRepository.from(dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.ConfigurableEventStore<CONFIG> eventStore, CONFIG eventStreamConfiguration, StatefulAggregateInstanceFactory aggregateRootInstanceFactory, Class<AGGREGATE_IMPL_TYPE> aggregateImplementationType, AggregateSnapshotRepository aggregateSnapshotRepository) Create anStatefulAggregateRepositoryinstance that supports loading and persisting the given Aggregate type - theEventStorewill be configured with the suppliedeventStreamConfiguration.
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please useStatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)static <CONFIG extends dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.persistence.AggregateEventStreamConfiguration,ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE>>
StatefulAggregateRepository<ID,EVENT_TYPE, AGGREGATE_IMPL_TYPE> StatefulAggregateRepository.from(dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.ConfigurableEventStore<CONFIG> eventStore, CONFIG eventStreamConfiguration, StatefulAggregateInstanceFactory aggregateRootInstanceFactory, Class<ID> aggregateIdType, Class<AGGREGATE_IMPL_TYPE> aggregateImplementationType, AggregateSnapshotRepository aggregateSnapshotRepository) Create anStatefulAggregateRepositoryinstance that supports loading and persisting the given Aggregate type - theEventStorewill be configured with the suppliedeventStreamConfigurationstatic <CONFIG extends dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.persistence.AggregateEventStreamConfiguration,ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE>>
StatefulAggregateRepository<ID,EVENT_TYPE, AGGREGATE_IMPL_TYPE> StatefulAggregateRepository.from(dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.ConfigurableEventStore<CONFIG> eventStore, dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.eventstream.AggregateType aggregateType, StatefulAggregateInstanceFactory aggregateRootInstanceFactory, Class<AGGREGATE_IMPL_TYPE> aggregateImplementationType, AggregateSnapshotRepository aggregateSnapshotRepository) Create anStatefulAggregateRepositoryinstance that supports loading and persisting the given Aggregate type - if missing, theEventStorewill be configured with the defaultAggregateEventStreamConfigurationbased on theAggregateEventStreamConfigurationFactorythat theEventStore'sAggregateEventStreamPersistenceStrategyis configured with
This factory method will try to resolve the Aggregate Id type from the aggregateImplementationType type parameters
If that fails please useStatefulAggregateRepository.from(ConfigurableEventStore, AggregateEventStreamConfiguration, StatefulAggregateInstanceFactory, Class, Class)static <CONFIG extends dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.persistence.AggregateEventStreamConfiguration,ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE extends StatefulAggregate<ID, EVENT_TYPE, AGGREGATE_IMPL_TYPE>>
StatefulAggregateRepository<ID,EVENT_TYPE, AGGREGATE_IMPL_TYPE> StatefulAggregateRepository.from(dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.ConfigurableEventStore<CONFIG> eventStore, dk.cloudcreate.essentials.components.eventsourced.eventstore.postgresql.eventstream.AggregateType aggregateType, StatefulAggregateInstanceFactory aggregateRootInstanceFactory, Class<ID> aggregateIdType, Class<AGGREGATE_IMPL_TYPE> aggregateImplementationType, AggregateSnapshotRepository aggregateSnapshotRepository) Create anStatefulAggregateRepositoryinstance that supports loading and persisting the given Aggregate type - if missing, theEventStorewill be configured with the defaultAggregateEventStreamConfigurationbased on theAggregateEventStreamConfigurationFactorythat theEventStore'sAggregateEventStreamPersistenceStrategyis configured withConstructors in dk.cloudcreate.essentials.components.eventsourced.aggregates.stateful with parameters of type AggregateSnapshotRepositoryModifierConstructorDescriptionStatefulAggregateInMemoryProjector(StatefulAggregateInstanceFactory aggregateRootInstanceFactory, AggregateSnapshotRepository aggregateSnapshotRepository)