Axon 将事件存储为 XML 而不是 JSON
Axon stores events as XML instead of JSON
我是 Axon 框架的新手,我想配置 Axon 以便将事件存储为 JSON。
我正在使用 Spring-Boot,并且根据文档,我在 .properties 文件中设置了一些 key/value
我希望看到存储为 JSON 的事件,但我一直在 MongoDB 事件存储的 serializedPayload 中看到 XML。
我想我已经正确配置了序列化器,但显然我做错了什么
请注意,在调试应用程序时,JacksonSerializer class 似乎从未被调用,相反 XStreamSerializer class 被调用甚至是我的 key/value 配置。
所以我需要了解为什么我的 jackson configuraton 没有调用正确的序列化程序
您必须配置 MongoEventStorageEngine
才能使用您想要的 Serializer
。
查看它的 Builder(特别是 javadoc),您可以看到它提供了一个 snapshotSerializer
和一个 eventSerializer
方法,而 javadoc 指出它们都默认为 XStreamSerializer
.
如果您在配置方面需要帮助,我可以将您指向 mongo-axon-example,您可以在其中查看已配置的项目和 运行。
该示例未使用 Jackson
,但配置它应该很容易 here.
即使文档似乎没有提到它,在 .properties 文件中添加 key/value 也是不够的。您还需要将 JacksonSerializer 添加到 MongoEventStorageEngine,如下所示:
我是 Axon 框架的新手,我想配置 Axon 以便将事件存储为 JSON。 我正在使用 Spring-Boot,并且根据文档,我在 .properties 文件中设置了一些 key/value
我希望看到存储为 JSON 的事件,但我一直在 MongoDB 事件存储的 serializedPayload 中看到 XML。 我想我已经正确配置了序列化器,但显然我做错了什么
请注意,在调试应用程序时,JacksonSerializer class 似乎从未被调用,相反 XStreamSerializer class 被调用甚至是我的 key/value 配置。 所以我需要了解为什么我的 jackson configuraton 没有调用正确的序列化程序
您必须配置 MongoEventStorageEngine
才能使用您想要的 Serializer
。
查看它的 Builder(特别是 javadoc),您可以看到它提供了一个 snapshotSerializer
和一个 eventSerializer
方法,而 javadoc 指出它们都默认为 XStreamSerializer
.
如果您在配置方面需要帮助,我可以将您指向 mongo-axon-example,您可以在其中查看已配置的项目和 运行。
该示例未使用 Jackson
,但配置它应该很容易 here.
即使文档似乎没有提到它,在 .properties 文件中添加 key/value 也是不够的。您还需要将 JacksonSerializer 添加到 MongoEventStorageEngine,如下所示: