【问题标题】:Does serialization of objects with same class but different packages cause an errors in Axon?具有相同类但不同包的对象的序列化是否会导致 Axon 中的错误?
【发布时间】:2021-08-12 05:18:47
【问题描述】:

我看了一篇博文,里面有这样一句话 "在 Axon 中,有一些约束要求事件类的包结构相同。 所以即使是同一个类,如果包不同,也会出现错误。”

因此,他建议使用多模块结构。

这是真的吗?我正在查看参考资料并试图找到类似的东西,但我找不到。

【问题讨论】:

    标签: gradle axon


    【解决方案1】:

    这点确实没错,@YongD。 Axon Framework 在序列化任何对象时,将存储序列化的格式和类型。最常存储的序列化格式是 XML 或 JSON 的 byte[]。两者中的哪一个取决于您是否配置了XStreamSerializerJacksonSerializer

    所以在序列化数据旁边,我们有类型。默认情况下,类型是完全限定的类名和可选的修订号。如果没有完全限定的类名,序列化程序将不知道如何将数据反序列化回所需的格式。包名是 FQCN 的一部分,概念上相同的类具有不同的包名可能会导致反序列化时出现问题。

    这就是为什么在 AxonIQ 提供的示例项目中,您总是会看到所有消息属于 core-apiapi 包或模块。已经有这种分离将允许在稍后阶段更容易地将服务提取到微服务中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2018-01-11
      • 2012-08-23
      • 2019-12-29
      • 1970-01-01
      相关资源
      最近更新 更多