参数使用顺序的问题
** 问题提出:dubbo 中同一个参数可以在很多的地方配置,比如timeout可以在方法级别,接口级别,全局默认配置,加载顺序是怎么样的呢?**
消费方
![](https://img.haomeiwen.com/i965742/5e7ba5a0bccddf13.png)
服务方:
![](https://img.haomeiwen.com/i965742/2c7cb467fbb5b717.png)
到处都是timeout,到底以哪个为准?
例子:
客户端在三个级别的timeout配置:
1,null,null
服务端在三个级别的timeout配置:
3000,null,null
然后在服务端方法里让程序sleep,让客户端超时
![](https://img.haomeiwen.com/i965742/74571107593fff0a.png)
结论1:级别相同,消费方优先
配置改为
客户端在三个级别的timeout配置:
1,1000,2000
服务端在三个级别的timeout配置:
null,null,null
![](https://img.haomeiwen.com/i965742/7321e4be80923d07.png)
结论2:所在方相同,级别优先
配置改为
客户端在三个级别的timeout配置:
null,1000,null
服务端在三个级别的timeout配置:
3000,null,null
![](https://img.haomeiwen.com/i965742/7a3d7464e8e0ea03.png)
结论3:双方都有配置,首先考虑级别,其次考虑哪一方(消费方优先)
官方说明:
![](https://img.haomeiwen.com/i965742/36a15ce15eed713c.png)
网友评论