So the conflict resolver only helps for conflict detection, did I understood right?
Essentially yes.
You can have a look at the DefaultConflictResolver
to see how it gets all the “unexpected” events and matches them against a predicate that you provide. If anything matches it’ll throw an exception (that you can also provide).
You can also have a look at Conflicts
which (as its JavaDoc states) is a
Utility class providing common Predicates used to detect conflicts between the actual state of an event sourced aggregate and the expected state of the aggregate.