Dubbo RpcInvocation异常:Fail to decode request due to: LimitMeta类序列化问题
@Getter public class LimitMeta implements Serializable { private final Long memberNo; private final Long amount;
public LimitMeta(Long memberNo, Long amount) {
this.memberNo = Objects.requireNonNull(memberNo);
this.amount = Objects.requireNonNull(amount);
}
}
dubbo 使用以上类时出现 Fail to decode request due to: RpcInvocation异常,请分析原因
内容:出现这个异常可能是因为 LimitMeta 类没有实现 Serializable 接口,而在 Dubbo 中需要通过网络传输对象,所以需要实现 Serializable 接口来支持序列化和反序列化。您可以尝试修改 LimitMeta 类的定义,加上实现 Serializable 接口的声明:
@Getter public class LimitMeta implements Serializable { private final Long memberNo; private final Long amount;
public LimitMeta(Long memberNo, Long amount) {
this.memberNo = Objects.requireNonNull(memberNo);
this.amount = Objects.requireNonNull(amount);
}
//其他方法
}
如果该问题仍然存在,您可以进一步检查 LimitMeta 类中是否有非序列化的字段或方法,如果有,请将其标记为 transient 或者将其序列化。
原文地址: https://www.cveoy.top/t/topic/oKST 著作权归作者所有。请勿转载和采集!