public class AggregateLoadTimeSnapshotTriggerDefinition extends Object implements SnapshotTriggerDefinition
This threshold can be exceeded in two distinct scenarios:
If the definable
loadTimeMillisThreshold is met in situation one, the snapshot will be triggered regardless of the outcome
of command handling. Thus also if command handling returns exceptionally. If the
loadTimeMillisThreshold is only reached
once the aggregate has been fully initialized, than the snapshot will only be triggered if handling resolves
|Constructor and Description|
|Modifier and Type||Method and Description|
Prepares a new trigger for an aggregate with the given
Reconfigure the necessary infrastructure components in the given
public static Clock clock
public AggregateLoadTimeSnapshotTriggerDefinition(Snapshotter snapshotter, long loadTimeMillisThreshold)
SnapshotTriggerDefinitionto trigger snapshot creation using the given
snapshotterwhen loading the aggregate instance takes longer than the given
snapshotter- the snapshotter to notify when a snapshot needs to be taken
loadTimeMillisThreshold- the maximum time that loading an aggregate may take
public SnapshotTrigger prepareTrigger(Class<?> aggregateType)
aggregateType. The trigger will be notified of each event applied on the aggregate, as well as the moment at which the aggregate state is fully initialized based on its historic events.
It is highly recommended that the instances returned by this method are
resources that the trigger needs that are not serializable, can be reattached by implementing the
SnapshotTriggerDefinition.reconfigure(Class, SnapshotTrigger) method. This method is invoked when a SnapshotTrigger has been
public SnapshotTrigger reconfigure(Class<?> aggregateType, SnapshotTrigger trigger)
trigger instance, which may have been lost in the (de)serialization process.
Implementations returning a Serializable SnapshotTrigger (which is recommended), should implement this method if not all fields could be initialized base don serialized data.
aggregateType- The type of aggregate for which this trigger was created
trigger- The trigger instance formerly created using
Copyright © 2010–2021. All rights reserved.