当前位置: 首页 > 知识库问答 >
问题:

轴突事件反序列化问题?

寇坚成
2023-03-14

当我切换到XStream作为事件序列化器时,一切都很好。不执行额外的偶数实例,在命令处理程序中创建的事件与在EventHandler中处理的事件相同。

这是怎么回事?

共有1个答案

羊慈
2023-03-14

经过一个小时的调试,我发现了自己的错误;-)。正如Axon文档所说,当使用Jackson作为EventSerializer时,必须遵守Jackson约定,而我没有这样做。我所有的聚合ID都是这个聚合ID的子类:

public abstract class AggregateId {

    private final UUID id;

    public AggregateId() {
        this(UUID.randomUUID());
    }

    public AggregateId(UUID id) {
        this.id = id;
    }

    public String toString() {
        return id.toString();
    }

    public UUID getValue() {
        return id;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        AggregateId that = (AggregateId) o;
        return id.equals(that.id);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id);
    }
}

拥有一个没有getter的私有字段id,以及返回该id的getvalue是愚弄Jackson(和我自己)的最佳方法。

ID重命名为value后,所有测试都是绿色的。

 类似资料:
  • 有没有人成功地为 S3 事件实施了基于 Java 的请求处理程序? 我的班级: 错误消息: JSON 解析期间发生错误:java.lang.RuntimeException java.lang.RuntimeException:JSON 解析期间发生错误 由以下原因引起:java.io.UncheckedIOException: com.fasterxml.jackson.databind.Jso

  • 好的,我做了更改,下面是我得到的JSON响应 它现在导致一个嵌套异常是java.lang.IllegalArgumentException:参数类型不匹配 NestedServletException:请求处理失败;嵌套异常是java.lang.IllegalArgumentException:参数类型不匹配org.springframework.web.servlet.framework.ser

  • 问题内容: 每当我尝试序列化文件时,都会收到错误消息:FileNotFound。不知道为什么。这是我的FileHelper代码: 问题答案:

  • 目前,我正在使用Avro1.8.0序列化/反序列化对象,但面临一些问题,特别是java.util.Map对象。不面临其他类型对象的问题。 这里的示例代码- 在deserialize方法中,我试图根据输入数据获取模式,但avro抛出错误- 多谢了。

  • 我在用轴突事件跟踪处理器。有时事件需要10秒才能处理。 这似乎导致消息再次被处理,并出现在日志“释放令牌X/0的声明失败。它由另一个节点拥有”中。 如果我增加段数,它不会记录此事件,但事件仍被处理两次,所以我认为这可能会引起误解。 (我想我搞错了) 我已经尝试调整fetchDelay、cleanupDelay和TokenClaimInterval。没有一个解决了这个问题。我是不是缺了什么东西? 编

  • 我可以在Axon中顺序处理的两个事件之间放置一个序列(或以一定的时间间隔执行)。这两个事件同时创建。下面是示例事件。 因为我的第二个事件取决于第一个事件的执行结果。我正在使用RabbitMq发布消息。