1. Dubbo客户端json解析异常
Dubbo框架下,Dto对象必须含有无参构造函数,否则http直接请求没问题,但是Dubbo客户端调用会报json解析异常的错误。
也就是说Dto中:
- 可以没有构造函数(java类如果没有构造函数,则默认生成无参构造函数);
- 如果有自定义的构造函数,则一定要显式定义一个无参构造函数。
2. 关于超时与重试
超时设置优先级:客户端方法级>服务端方法级>客户端接口级>服务端接口级>客户端全局>服务端全局。
除了有全局超时设置以外,也可以对具体方法进行单独设置:
- 对于不满足幂等性的接口,应该把重试次数置为0;
- 对于耗时比较长的接口,应该适当增加超时时间。
注:每次超时并不会立刻报一个超时异常,而只是打印一个warn日志。等所有的重试都超时,才会最终报超时异常。