diff --git a/axon/src/main/java/com/baeldung/axon/OrderApplicationConfiguration.java b/axon/src/main/java/com/baeldung/axon/OrderApplicationConfiguration.java new file mode 100644 index 0000000000..8b743144b4 --- /dev/null +++ b/axon/src/main/java/com/baeldung/axon/OrderApplicationConfiguration.java @@ -0,0 +1,18 @@ +package com.baeldung.axon; + +import org.axonframework.eventsourcing.EventCountSnapshotTriggerDefinition; +import org.axonframework.eventsourcing.SnapshotTriggerDefinition; +import org.axonframework.eventsourcing.Snapshotter; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class OrderApplicationConfiguration { + + @Bean + public SnapshotTriggerDefinition orderAggregateSnapshotTriggerDefinition(Snapshotter snapshotter, + @Value("${axon.aggregate.order.snapshot-threshold:250}") int threshold) { + return new EventCountSnapshotTriggerDefinition(snapshotter, threshold); + } +} diff --git a/axon/src/main/java/com/baeldung/axon/commandmodel/order/OrderAggregate.java b/axon/src/main/java/com/baeldung/axon/commandmodel/order/OrderAggregate.java index 97342bdb3a..1065e9d22b 100644 --- a/axon/src/main/java/com/baeldung/axon/commandmodel/order/OrderAggregate.java +++ b/axon/src/main/java/com/baeldung/axon/commandmodel/order/OrderAggregate.java @@ -23,7 +23,7 @@ import java.util.Map; import static org.axonframework.modelling.command.AggregateLifecycle.apply; -@Aggregate +@Aggregate(snapshotTriggerDefinition = "orderAggregateSnapshotTriggerDefinition") public class OrderAggregate { @AggregateIdentifier