在传奇事件向上转型



我有一个使用XStreamSerializer序列化的事件,如下所示:

public class MyEvent {
private String property1;
private String property2;
...
}
public MySaga {
....
private MyEvent myEvent;
....
}

在用这个事件创建了几个传奇故事之后,我需要通过添加一个属性来修改这个事件:

public class MyEvent {
private String property1;
private String property2;
private String property2;
...
}

现在我在反序列化上遇到了问题。我已经找到了一个解决方法,通过使用序列化id来解决这个问题,但是我需要实现某种类似于事件提升的提升过程,但是对于传奇,我覆盖反序列化过程并将内部属性myEvent提升到新事件。这可能吗?我的猜测是,我应该以某种方式覆盖ConverterFactory类,但我不确定如何。有人能给点建议吗?

根据您的其他问题,我假设您正在使用Axon框架v2.4.6

你可以在文档中找到,Axon提供了一个如何使用正确的2.4文档链接编写upcaster的示例。

你基本上得到intermediateRepresentation,这是一个org.dom4j.Document,因为你正在使用XStream序列化器。基于此,你必须使用XStream给出的方法(copy, get, set, remove等)并更新你的XML,这是给定事件的有效载荷。

你可以在新的文档或我们的代码样本库中找到一些其他的例子。

KR,

最新更新