I have the two below aggregates they share the same context, is it possible to obtain the same aggregate Identifier for a different aggregate Type ?
@Aggregate
@Getter
@Setter
@NoArgsConstructor
public class User {
@AggregateIdentifier
private String userId;
@CommandHandler
@CreationPolicy(AggregateCreationPolicy.ALWAYS)
private void handle(InitializeUsers cmd) {
AggregateLifecycle.apply(UsersInitialized.builder()
.userId(cmd.getUserId())
.users(cmd.getUsers())
.build());
}
@EventSourcingHandler
private void on(UsersInitialized evt) {
this.userId = evt.getUserId();
}
}
@Aggregate
@Getter
@Setter
@NoArgsConstructor
public class Cpam {
@AggregateIdentifier
private String userId;
@CommandHandler
@CreationPolicy(AggregateCreationPolicy.ALWAYS)
private void handle(InitializeCpams cmd) {
AggregateLifecycle.apply(CapmsInitialized.builder()
.userId(cmd.getUserId())
.capms(cmd.getCapms())
.build());
}
@EventSourcingHandler
private void on(CapmsInitialized evt) {
this.userId = evt.getUserId();
}
}