当前位置: 首页 > news >正文

@reference注解_Dubbo配置参考手册之dubbo:reference

概述

这是服务消费者引用服务的配置标签。对应的配置类为 org.apache.dubbo.config.ReferenceConfig。dubbo:reference标签一共有27个属性(截至2.7.7版本)。

属性详情

id

服务引用bean的id,即当前dubbo:reference标签代表的服务的bean的id,其为string类型,必填属性(后续的属性说明中,没有专门指明是必填属性的,均为可选属性)。

interface

服务接口名,类型是class即接口完整类名,属于dubbo:reference标签的必填属性,其作用是用于服务发现。

version

服务版本,与服务提供者的版本一致。对应URL参数为version,类型为string。

group

服务分组,对应URL参数为group,类型为string。当一个接口有多个实现,可以用分组区分,必须和服务提供方一致。

timeout

服务方法调用超时时间,单位毫秒。long类型,对应URL的参数为timeout,缺省使用的timeout,是性能调优属性之一。

retries

远程服务调用重试次数,不包括第一次调用,不需要重试请设为0,缺省使用的retries。int类型的性能调优类属性,对应URL参数retries。

connections

对每个提供者的最大连接数,rmi、http、hessian等短连接协议表示限制连接数,dubbo等长连接协表示建立的长连接个数。int类型的性能调优类属性,URL对应的参数为connections,缺省使用的connections。

loadbalance

负载均衡策略,对应URL中的loadbalance参数,string类型,其取值范围为random,roundrobin,leastactive,分别表示随机,轮询,最少活跃调用。loadbalance是性能调优中非常重要的属性之一,缺省使用的loadbalance。

async

是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程。boolean类型的性能调优类属性,URL中对应参数为async,缺省使用的async。

generic

是否缺省泛化接口,如果为泛化接口,将返回GenericService。属于服务治理类的属性,类型为boolean,其对应的URL参数为generic,缺省使用的generic。

check

启动时检查提供者是否存在,boolean类型。设置为true时,如果提供者即服务不存在注册中心,将报错,设置为false时,不做检查。这是一个很有用的服务治理类的属性,在出现服务循环引用时,可以设置为false解决。其对应的URL参数为check。缺省使用的check。

url

点对点直连服务提供者地址,将绕过注册中心。string类型,URL中对应的参数为url。

stub

服务接口客户端本地代理类名,用于在客户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象,构造函数如:public XxxServiceLocal(XxxService xxxService)。其类型为class/boolean,URL中对应的参数为stub。

mock

服务接口调用失败Mock实现类名,该Mock类必须有一个无参构造函数,与stub的区别在于,Local总是被执行,而mock只在出现非业务异常(比如超时,网络异常等)时执行,stub在远程调用之前执行,Mock在远程调用后执行。mock是比较重要的服务治理的属性,其类型为class或boolean,缺省值为false。对应URL的参数是mock。

cache

以调用参数为key,缓存返回结果,其类型为string/boolean,取值范围lru, threadlocal, jcache等。在URL中对应的参数为cache。

validation

是否启用JSR303标准注解验证,如果启用,将对方法参数上的注解进行校验。boolean类型,在URL中对应的参数为validation。

proxy

选择动态代理实现策略,string类型的性能调优类属性,可选取值为jdk和javassist,缺省值为javassist。其在URL的参数为proxy。

client

客户端传输类型设置,如Dubbo协议的netty或mina。string类型的性能调优类属性,其在URL的参数为client。

registry

string类型,从指定注册中心注册获取服务列表,在多个注册中心时使用,值为的id属性,多个注册中心ID用逗号分隔。缺省将从所有注册中心获服务列表后合并结果。

owner

调用服务负责人,用于服务治理,请填写负责人公司邮箱前缀。string类型的属性,对应URL参数为owner。

actives

每服务消费者每服务每方法最大并发调用数。int类型,缺省值为0,对应URL参数为actives,属于性能调优类属性。

cluster

集群方式,string类型的性能调优类属性,可选取值为failover、failfast、failsafe、failback、forking,缺省值为failover。

filter

服务过滤器链,服务消费方远程调用过程拦截器名称,多个名称用逗号分隔。string类型性能调优属性,缺省值为default。其对应的URL参数为reference.filter。

listener

服务消费方引用服务监听器名称,多个名称用逗号分隔。string类型的性能调优类属性,其对应的URL参数为invoker.listener,缺省值为default。

layer

服务调用者所在的分层。如:biz、dao、intl:web、china:acton。string类型的服务治理类属性,其在URL上对应的参数为layer。

init

是否在afterPropertiesSet()时饥饿初始化引用,否则等到有人注入或引用该实例时再初始化。boolean类型的性能调优类属性,缺省值为false,其在URL上对应的参数为init。

protocol

string类型,只调用指定协议的服务提供方,其它协议忽略。其在URL上对应的参数为protocol。

总结

细心的小伙伴可能已经发现,其实有不少属性和dubbo:service中的属性很类似,其含义也基本相同。确实如此,只不过dubbo:service用于服务提供者端,而dubbo:reference用于服务消费者端。

#java开发工程师# #架构师# #诗和远方#

f1b65c08249c03f218dfa7c88b3f2ebd.png

学习工作之余,一起看看诗和远方:顺德伦教进士牌坊

相关文章:

  • 微信可以远程控制电脑吗_远程控制工具 HiPC 3.4.09.111 — 微信控制电脑
  • docker 删除所有未启动的容器_Docker实战006:docker容器使用详解
  • vue.js 拷贝数组和对象_【图文并茂,点赞收藏哦!】重学巩固你的Vuejs知识体系...
  • vs的离线下载.iso文件_VS2015下载地址和安装教程(图解),其他版本均一致
  • python分段函数编程例子_Python绘制分段函数
  • python中break怎么用_Python3中break的用法
  • windows 端口转发工具_iox:一款功能强大的端口转发amp;内网代理工具
  • python语言format用法_python format用法详解
  • python的前端怎么实现_python 前端HTML
  • python读取文件大小_Python如何批量获取文件夹的大小并保存
  • python ocr高精度识别_OCR识别-python版(一)
  • python 全部缩进一行_一步一步学Python3(小学生也适用) 第三篇: Python基本规范
  • win10添加python环境变量_Windows10下安装python(配置环境变量)
  • python运维开发前景_运维开发前景怎么样,怎么去学习运维开发?
  • .sh文件怎么运行_创建优化的Go镜像文件以及踩过的坑
  • 【跃迁之路】【641天】程序员高效学习方法论探索系列(实验阶段398-2018.11.14)...
  • conda常用的命令
  • C学习-枚举(九)
  • isset在php5.6-和php7.0+的一些差异
  • JavaScript函数式编程(一)
  • JavaScript设计模式与开发实践系列之策略模式
  • Laravel核心解读--Facades
  • leetcode-27. Remove Element
  • spring boot下thymeleaf全局静态变量配置
  • SQLServer之创建数据库快照
  • Vultr 教程目录
  • webpack入门学习手记(二)
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 精彩代码 vue.js
  • 蓝海存储开关机注意事项总结
  • 聊聊flink的BlobWriter
  • 前端_面试
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 阿里云ACE认证之理解CDN技术
  • ​VRRP 虚拟路由冗余协议(华为)
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # Maven错误Error executing Maven
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #define、const、typedef的差别
  • #Linux(帮助手册)
  • (1) caustics\
  • (1)(1.13) SiK无线电高级配置(五)
  • (2022 CVPR) Unbiased Teacher v2
  • (C++)八皇后问题
  • (floyd+补集) poj 3275
  • (JS基础)String 类型
  • (板子)A* astar算法,AcWing第k短路+八数码 带注释
  • (附源码)spring boot儿童教育管理系统 毕业设计 281442
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十八)三元表达式和列表解析
  • (转)JAVA中的堆栈
  • (转)jQuery 基础
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全