dubbo问题记录

1. RpcContext.getContext().setAttachment() 只能传字符串参数?对象参数无法传

2. duoob的service的方法名最好不要用getOrders这种以get...开头,有可能启动报错:

Caused by: javassist.CannotCompileException: [source error] getPropertyValue (Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object; in org.apache.dubbo.common.bytecode.Wrapper4: inconsistent stack height Index -1 out of bounds for length 4

 3. 生产端抛出自定义异常时。自定义异常需要加无参构造函数,否则消费端调服务时会报:

com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'com.davidhu.shopguide.api.exception.BusinessException' could not be instantiated
    at com.alibaba.com.caucho.hessian.io.JavaDeserializer.instantiate(JavaDeserializer.java:317)
    at com.alibaba.com.caucho.hessian.io.JavaDeserializer.readObject(JavaDeserializer.java:202)

4. 生产端抛出自定义异常,如果想要在消费端正确捕获到此自定义异常,异常类和接口声明在同一个包里,否则捕获的是包装过的RuntimeException.

喜欢艺术的码农
原文地址:https://www.cnblogs.com/zjhgx/p/15069635.html