Hi Carol,
for Event Processors, unknown event types are automatically ignored. However, in the case of Aggregates being event sourced, we have decided to fail by default, instead. The thought behind this, is that when streaming an Aggregate, you should not encounter unknown events, as the aggregate itself is the one who published them. Event Processors, on the other hand, may live in external applications, and they should only need to hold the classes they care about receiving.
It is the EventStorageEngine implementation that explicitly defines certain streams should raise an error when an unknown event type is encountered. You could change this behavior by overriding the org.axonframework.eventsourcing.eventstore.AbstractEventStorageEngine#readEvents(java.lang.String, long) method. Instead of passing "false" as the fourth parameter to EventUtils.upcastAndDeserializeDomainEvents, you simply pass true (i.e. ignore unknown events).
Alternatively, you could wrap/override the behavior on the Serializer, telling it to return a dummy event implementation when an unknown class is encountered.
I am going to give this a bit more thought to see if there is a neater way to resolve this. If you have any ideas, they're most welcome.
Cheers,
Allard