转载地址来源于:https://www.cnblogs.com/darling2047/p/9765341.html
之前记录了基于springboot的dubbo入门案例,今天在此基础上记录dubbo官网介绍的常用属性配置,dubbo读取我们配置的属性时是有优先级的,优先级如下图:
如图所示,优先级的属性依次为虚拟机参数>xml配置>dubbo.properties,虚拟机参数即程序启动之前我们通过-D配置的dubbo属性,xml配置即我们项目中自己写的xml文件或者是springboot中的application.properties,当公共配置很简单,没有多注册中心,多协议等情况,或者想多个 Spring 容器想共享配置的情况下可以用dubbo.properties作为缺省配置;需要注意的是我这里的测试用例都是写在application.properties中,当然如果感觉不习惯,也可以跟普通maven项目一样新建xml文件,在xml中进行配置,只是不要忘了在springboot的启动类中添加@ImportResource(locations="xml路径")注解来引入就行,下面开始记录dubbo的常用配置;
一、启动时检查(check)
默认情况下dubbo是开启自动检查的,即当项目启动时会自动检查其依赖的服务是否开启,如果没开是会阻止spring的初始化的,即check=true;我们可以将check置为false来关闭启动时检查,如我们在测试或者对其他服务没有依赖的时候可以关闭检查;在springboot中我们可以进行如下配置来关闭启动时检查:
1、关闭某个服务的启动检查
在引用该服务的@Reference注解上添加check=false,即@Reference(check = false)
2、关闭所有服务的启动时检查
在application.properties中添加dubbo.consumer.check=false
二、超时(timeout,默认为1000),重试次数(retries)
超时:当消费者调用提供者时由于网络等原因有可能会造成长时间拿不到响应,而请求还在不断的发过来这就有可能造成线程阻塞,使用timeout设置超时时间当超过该时间就会抛出异常;设置如下:
当只针对某个服务时:@Reference(timeout=XXX)
当针对所有服务时:dubbo.consumer.timeout=XXX
重试次数:当调用失败或超时后重新尝试调用的次数,其值不包含第一次
当只针对某个服务时:@Reference(retries=XXX)
|