@Reference是dubbo的注解也是注入,注入的是分布式中的远程服务对象。
源码:
package org.apache.dubbo.config.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD, ElementType.ANNOTATION_TYPE})
public @interface Reference {
Class<?> interfaceClass() default void.class;
String interfaceName() default "";
String version() default "";
String group() default "";
String url() default "";
String client() default "";
boolean generic() default false;
boolean injvm() default false;
boolean check() default true;
boolean init() default false;
boolean lazy() default false;
boolean stubevent() default false;
String reconnect() default "";
boolean sticky() default false;
String proxy() default "";
String stub() default "";
String cluster() default "";
int connections() default 0;
int callbacks() default 0;
String onconnect() default "";
String ondisconnect() default "";
String owner() default "";
String layer() default "";
int retries() default 2;
String loadbalance() default "";
boolean async() default false;
int actives() default 0;
boolean sent() default false;
String mock() default "";
String validation() default "";
int timeout() default 0;
String cache() default "";
String[] filter() default {};
String[] listener() default {};
String[] parameters() default {};
String application() default "";
String module() default "";
String consumer() default "";
String monitor() default "";
String[] registry() default {};
String protocol() default "";
}
常用属性:
group:服务分组,对应URL参数为group,类型为string。当一个接口有多个实现,可以用分组区分,必须和服务提供方一致。例如,group="${dubbo.group}"
timeout:服务方法调用超时时间,单位毫秒,int类型。例如,time=5000
check:启动时检查提供者是否存在,boolean类型。设置为true时,如果提供者即服务不存在注册中心,将报错,设置为false时,不做检查。默认为true。例如,check=false
interfaceClass:服务接口名,类型是class即接口完整类名,例如,interfaceClass = ProductService.class
version:服务版本,与服务提供者的版本一致。对应URL参数为version,类型为string。例如,version="1.0"
版权声明:本文为weixin_43185154原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。