赞
踩
@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"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。