Dubbo配置文件解析
昨天记录了第一个Dubbo 的Demo程序,今天对自己使用到的Dubbo标签做一份详细的解析,因为还未接触到所有的Dubbo配置文件的标签,所以并不是所有的标签解析
dubbo配置文件下的标签
所有配置最终都将转换为URL表示,并由服务提供方声称,经注册中心传递给消费方,各属性对应URL的参数
<dubbo:application>
应用配置信息
name:当前应用的名称
organization:组织名称
environment:应用环境
owner:应用负责人
<dubbo:registry >
注册中心配置,如果有多个注册中心,可以声明多个<dubbo:registry >
标签
id:注册中心引用beanId,
address:注册中心服务器地址,如果地址没有端口缺省为9090,同一集群内的多个地址用逗号分隔,不同集群的注册中心,请配置多个<dubbo:registry>标签
protocol注册中心地址协议,支持dubbo,http,local三种
port 注册中心缺省端口,当address没有带端口时使用此端口作为缺省值
username:
password:
transport:网络传输方式
timeout:注册中心请求超时时间
<dubbo:monitor>
监控中心配置
address:监控中心服务器地址,格式:ip:port,
(1)如配置为address=”10.20.130.230:12080”, 则为使用logstat监控
(2)如未添加该配置, 或者address=”N/A”, 则会去加载comsat.xml, 如果找到,就使用comsat监控;如果没找到,就不做监控
<dubbo:protocol>
服务提供者协议配置
name:协议名称,为必填标签
port:服务端口,其中,dubbo协议缺省端口为20880
<dubbo:service>
服务提供者暴露服务配置
interface:必填,服务接口名
ref:必填,服务对象实现引用
version:服务版本,建议使用两位数版本,不是必填标签
group:服务分组,当一个接口有多个实现,则可以用分组区分
path:服务路径
delay:延迟注册时间,设为-1时,表示延迟到spring容器初始化完成时暴露服务
time:远程服务调用超时时间
token:令牌验证,为空表示不开启,如果为true,表示随机生成动态令牌
<dubbo:provider>
服务提供者缺省值配置
<dubbo:reference>
服务消费者引用服务配置
id 服务引用beanid 必填
interface 服务接口名,必填
version:服务版本,与服务提供者版本一致
group:服务分组
timeout:服务方法调用超时时间
retries:远程服务调用重试次数,不包括第一次调用
owner:调用服务负责人,用于服务治理
proxy:生成动态代理方式
filter:服务消费方远程调用过程拦截器名
<dubbo:method>
方法级配置,该标签为以上两标签的额子标签,用于控制方法级
name:必填,方法名
比如:
<dubbo:reference interface="com.***.**Service">
<dubbo:method name="find***"timeout="3000"retries="2"/>
</dubbo:reference>
<dubbo:argument>
方法参数配置,该标签为的子标签,用于方法参数的特征描述
比如:
<dubbo:method name="find***" timeout="3000" retries="2">
<dubbo:argument index="0" callback="true"/>
<dubbo:method>