1、dubbo属性加载
(1)参照dubbo官方文档:http://dubbo.apache.org/zh-cn/docs/user/configuration/properties.html
配置 - XML配置
dubbo服务在启动时,可以添加虚拟机参数,并会优先生效
如:
(2)配置 - 属性配置
(2)示例 - 启动时检查
Dubbo启动时会检查它所需要消费的服务是不是已经存在注册中心里面,如果没有,就会保错。默认 check="true"
可以通过 check="false"
关闭检查,消费者自动启动;只有在服务调用的时候,它才去注册中心检查服务,是否可用。
<!--声明需要调用的远程服务的接口:生成服务远程代理-->
<dubbo:reference interface="com.dhu.service.UserService" id="userService" check="false"></dubbo:reference>
·随着消费者引用的服务数量增多,逐个配置关闭检查非常麻烦,使用dubbo:consumer标签,所有的服务都不检查。
<!--配置当前消费者的统一规则-->
<dubbo:consumer check="false"></dubbo:consumer>
(3)超时属性设置 timeout
·服务消费方在引用服务提供方时,由于网络原因,提供方执行某个方法业务花费很长时间,方法执行结果都没有返回,导致大量方法进程阻塞,会导致性能下降。
·为了解决这个问题,可以指定超时属性。一旦该方法在超时时间内没有返回就立即终止,可以避免线程大量阻塞。
·默认时1000ms,单位:ms
<!--声明需要调用的远程服务的接口:生成服务远程代理-->
<dubbo:reference interface="com.dhu.service.UserService" id="userService" check="false" timeout="3000"></dubbo:reference>
·官方文档:schema配置参考手册 - http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-reference.html
·配置 - XML配置 - 不同粒度配置的覆盖关系
(4) 重试次数retries,一般配合超时属性设置 timeout一起使用
·当某一个服务,由于网络不佳或者服务运行缓慢等,导致超时,方法远程调用失败。我们可以通过调整重试次数。重试次数是一个整数,但不包含第一次调用。
<!--retries:重试次数-->
<!--幂等方法:方法无论运行多少次,运行结果效果相同【查询、删除、修改】(设置重试次数)、非幂等方法(不能设置重试次数)【新增】-->
<dubbo:reference interface="com.dhu.service.UserService" id="userService" check="false" timeout="5000" retries="3">