While the XStreamSerializer is a sensible default, as it supports all object types, the JacksonSerializer is a better choice when it comes to storing Events.
The Configuration API should allow for this distinction, making it easier to serialize messages using the JacksonSerializer, while serializing aggregate snapshots and sagas using the XStreamSerializer by default.
In Spring, this distinction should somehow also be made.
just curious, why would the jacksonserializer be a better choice for events ?
The generated json is not as tied to the classes as the json object is. Message payloads (and especially events) are generally inmutable objects with simple structure.