注解说明篇
只列举本系列中使用过得,常用的,并不是全部
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。表示该参数是否为回调参数。