注解说明篇

只列举本系列中使用过得,常用的,并不是全部

DubboReference

调用方注解

  • interfaceClass:指定服务接口的 Class 对象,表示该服务实现的接口类型。
  • interfaceName:指定服务接口的名称,与 interfaceClass 参数作用相同。
  • version: 服务版本,与服务提供者的版本一致
  • group: 服务分组,当一个接口有多个实现,可以用分组区分,必需和服务提供方一致
  • timeout: 服务方法调用超时时间(毫秒)
  • retries: 远程服务调用重试次数,不包括第一次调用,不需要重试请设为0
  • loadbalance: 负载均衡策略,可选值: random,roundrobin,leastactive,分别表 示:随机,轮循,最少活跃调用
  • async: 是否异步执行,不可靠异步,只是忽略返回值,不阻塞执行线程
  • check: 启动时检查提供者是否存在,true 报错, false 忽略
  • stub: 服务接口客户端本地代理类名,用于在客 户端执行本地逻辑,如本地缓存等,该本地代理类的构造函数必须允许传入远程代理对象
  • mock: 服务接口调用失败 Mock 实现类名
  • validation: 是否启用 JSR303 标准注解验证,如果启用,将对方法参数上的注解进行校验
  • registry: 从指定注册中心注册获取服务列表,在多 个注册中心时使用,值为 dubbo:registry的 id 属性,多个注册中 心 ID 用逗号分隔
  • actives: 每服务消费者每服务每方法最大并发调用数
  • cluster: 集群方式,可选: failover/failfast/failsafe/failback/forking (failover)
  • filter: 服务消费方远程调用过程拦截器名称,多个名称用逗号分隔
  • listener: 服务消费方引用服务监听器名称,多个名称用逗号分隔
  • protocol: 只调用指定协议的服务提供方,其它协议忽略。
  • methods:指定服务接口中每个方法的详细信息,包括超时时间、重试次数、参数类型、返回值类型等。

DubboService

提供方注解

  • interfaceClass:指定服务接口的 Class 对象,表示该服务实现的接口类型。
  • interfaceName:指定服务接口的名称,与 interfaceClass 参数作用相同。
  • version:指定当前服务接口的版本号,默认为空字符串 ""。
  • group:指定当前服务接口的分组,同样默认为空字符串 ""。
  • timeout:指定服务调用超时时间,单位为毫秒,默认为 0 表示不设置超时时间。
  • loadbalance:指定负载均衡策略,可选值有 "random"、"roundrobin" 和 "leastactive" 等,默认为 "random"。
  • retries:指定失败重试次数,即当某个服务调用失败时,是否自动重试,默认为 2。
  • actives:指定客户端最大并发请求数,即同时可以处理的请求个数,默认为 0 不限制。
  • executes:指定线程池大小,即服务提供者处理请求的线程数,默认为 0 不启用。
  • parameters:指定一些额外的参数,如 dubbo 协议的一些配置参数。
  • mock:指定当服务调用失败时所返回的默认值,通常用于服务降级处理。
  • stub:指定本地存根类,用于将部分调用逻辑在客户端执行,从而可以减轻服务端的压力。
  • cluster:指定集群容错模式,可选值有 "failover"、"failfast"、"failsafe"、"failback" 和 "forking" 等,默认为 "failover"。
  • validation:指定参数校验逻辑是否开启,可选值有 "true" 或 "false",默认为 "false"。
  • weight:指定服务权重,用于负载均衡,数值越大表示权重越高。
  • accesslog:指定 Dubbo 服务访问日志的输出文件路径,支持使用占位符 ${...} 指定日期格式等。
  • async:指定是否异步调用接口方法,可选值有 "true" 或 "false",默认为 "false"。
  • protocol:指定服务协议的名称和端口号,默认为 Dubbo 协议,端口号为 20880。
  • filter:用于指定过滤器
  • listener:用于指定监听器
  • methods:指定服务接口中每个方法的详细信息,包括超时时间、重试次数、参数类型、返回值类型等。
  • registry:指定注册中心的地址和协议,默认为 ZooKeeper 协议。Dubbo 支持多种注册中心,如 ZooKeeper、Redis、Consul 等。
  • monitor:指定监控中心的地址和协议,默认不开启。Dubbo 监控中心支持多种协议,如 Dubbo 协议、JMX 协议等。
  • token:权限控制,true是则是随机token令牌,使用UUID生成

Activate

  • group():默认为空字符串数组。可指定组名,用于将多个注解进行分组,之前常用CommonConstants.CONSUMER,CommonConstants.PROVIDER 代表在调用方和提供方哪一方生效,也就是DubboReference和DubboService代表的一方
  • value():默认为空字符串数组。可用于指定该注解所需激活的扩展点名称。(遇到什么才被激活)
  • order():默认为0。可用于指定该注解所对应的扩展点在其它同类扩展点中的执行顺序。值越小,则越先执行。

Method

  • name:Dubbo服务方法的名称,默认为空字符串。如果不指定,系统将使用接口方法名作为Dubbo服务方法名。
  • retries:Dubbo服务方法的重试次数,默认为0。如果该值大于0,当Dubbo服务调用失败时,Dubbo框架会自动进行重试,最多重试指定次数。
  • loadbalance:Dubbo服务方法的负载均衡策略,默认为"random"。Dubbo框架支持多种负载均衡策略,如随机负载均衡、轮询负载均衡等,可以根据需要指定。
  • async:是否异步执行该Dubbo服务方法,默认为false。如果该值为true,Dubbo框架会将该Dubbo服务方法调用转化为异步调用。
  • timeout:Dubbo服务方法的超时时间(毫秒),默认为0。如果该值为0,则表示不设定超时时间。
  • actives:服务消费者端限制该Dubbo服务并发调用数,默认为0(不限制)。
  • executes:该Dubbo服务提供者端限制该Dubbo服务并发执行数,默认为0(不限制)。
  • oninvoke:方法调用前事件方法
  • onreturn:方法调用后事件方法
  • onthrow:方法调用异常事件方法
  • validation:是否参数校验

Argument

  • index:默认值为-1。用于指定该参数在Dubbo服务方法中的索引位置。如果不指定,则系统会自动推断。
  • type:默认值为空字符串。用于指定该参数的类型。如果不指定,则系统会自动推断。
  • callback:默认值为false。表示该参数是否为回调参数。
Last Updated: