Axon Framework:在现有应用程序中将 XStream 序列化事件转换为 Jackson Serializer

Axon Framework: Convert XStream serialized events to Jackson Serializer in existing application

我们有一个使用 Axon 框架编写的应用程序。基于我们在 XStream 中遇到的问题,提出了转换为 Jackson 序列化程序的想法。

是否可以使用 Axon 中的配置选项将事件存储中的当前事件转换为 JSON 表示形式,还是我们必须手动处理?

Axon Framework 或任何扩展都提供开箱即用的功能来实现此目的。 重写事件存储最直接的方法是编写一个基本的事件处理应用程序,该应用程序从存储一读取并写入(通过所需的调整)存储二。

从努力的角度来看,是这样的:

  • 构建基本的 Axon 框架应用程序,从当前 XML 商店读取。
  • 在您的应用程序中配置第二个 EventStore,与 Axon 的 Configurer 分开。第二个商店的 EventStorageEngine 应该接收 JacksonSerializer,而默认商店应该使用 XStreamSerializer
  • 编写一个事件处理程序来处理 所有 事件,保持时间戳(非常重要)的完整性。此处理程序应 'append' 事件存储二。
  • 启动应用程序。默认的 Streaming Event Processor 将读取所有内容,将其提供给您的事件处理程序,然后将它们提供给第二个存储。