Uses of Interface
dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot.AggregateSnapshotRepository
-
-
Uses of AggregateSnapshotRepository in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider
Methods in dk.cloudcreate.essentials.components.eventsourced.aggregates.decider with parameters of type AggregateSnapshotRepository Modifier and Type Method Description static <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 AggregateSnapshotRepository Modifier and Type Class Description classDelayedAddAndDeleteAggregateSnapshotDelegateDelegatingAggregateSnapshotRepositorywhich 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.classPostgresqlAggregateSnapshotRepositoryMethods in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot that return AggregateSnapshotRepository Modifier and Type Method Description static AggregateSnapshotRepositoryDelayedAddAndDeleteAggregateSnapshotDelegate. delegateTo(AggregateSnapshotRepository delegateRepository)Methods in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot with parameters of type AggregateSnapshotRepository Modifier and Type Method Description static AggregateSnapshotRepositoryDelayedAddAndDeleteAggregateSnapshotDelegate. delegateTo(AggregateSnapshotRepository delegateRepository)Constructors in dk.cloudcreate.essentials.components.eventsourced.aggregates.snapshot with parameters of type AggregateSnapshotRepository Constructor Description DelayedAddAndDeleteAggregateSnapshotDelegate(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 AggregateSnapshotRepository Modifier and Type Method Description 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<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 AggregateSnapshotRepository Constructor Description StatefulAggregateInMemoryProjector(StatefulAggregateInstanceFactory aggregateRootInstanceFactory, AggregateSnapshotRepository aggregateSnapshotRepository)
-