Hi, so I have updated our current implementation of the axon framework to start using a composite aggregate identifier instead of just using a single field as we have started to receive inputs with the same fooId but just a new versionNumber.
@AggregateIdentifier
private String getAggregateIdentifier() {
return (null != versionNumber) ? (fooId+ "V" + versionNumber) : fooId;
}
We are a pass through application, so the fooId & versionNumber isn’t something in our control, this data is part of the input into our application. We are using a repository solution to store the event in our sql database and using rabbitmq to direct the events to the projection & to the correct queues.
This solution we have implemented works, but I was just wondering if anyone has implemented something cleaner. I came across this post by @Steven_van_Beelen where he mentioned that we can implement our own version of the EventStorageEngine and add additional columns to the db. Are there any github practice references for this that I could refer to?
Thanks.