码迷,mamicode.com
首页 > 其他好文 > 详细

Dubbo的@Reference和@Service说明

时间:2019-01-05 19:52:58      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:ica   out   turn   res   path   log   cal   OLE   document   

 

前言

@Reference 用在消费端,表明使用的是服务端的什么服务

 1 @RestController
 2 public class RemoteUserController {
 3 
 4 
 5 
 6     @Reference(version = "1.0.0",check = true)
 7     private RemoteUserService remoteUserService;
 8 
 9 
10 
11     @RequestMapping(value="/dubbo/say/{name}")
12     public String sayHello(@PathVariable("name") String name){
13         //调用服务提供者的服务
14         String result=remoteUserService.sayHello(name);
15         return result;
16     }
17 }

@Service 用在服务提供者中,在类或者接口中声明。
服务提供者实现相关的服务接口,当消费端调用相关的类时,最终会调用提供者的实现方法。
@Component
@Service(version = "1.0.0",timeout = 10000,interfaceClass = RemoteUserService.class)
public class RemoteUserServiceImpl implements RemoteUserService {

    @Override
    public String sayHello(String name) {

        log.info("访问sayHello " + name);
        return "Hello " + name;
    }
}

 

 

@Reference

声明

可以看出该注解可以用在属性或者方法上

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD, ElementType.METHOD})
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 0;

    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 {};
}

 

Class<?> interfaceClass() default void.class

注解所在的接口类,可以不写,比如上面的为 

interfaceClass = RemoteUserService.class

String interfaceName() default ""

  上述也可以通过接口全类名来实现,可以不写

interfaceName ="com.dubbo.frame.common.service.RemoteUserService"

String version() default ""

 版本号,提供端的@Reference 和消费端的@Service 上的版本号必须一致。

String group() default ""

 分组,提供端的@Reference 和消费端的@Service 上的group必须一致。

消费端的group也可以写成 group=“*”,表示适配所有。

 

String url() default "";

 

String client() default "";

boolean generic() default false;

boolean injvm() default false;

boolean check() default true;

true:启动时检查是否有可用的服务,如果没有则启动失败

false:启动时不检查,使用时才检查,也就是懒加载

应当设置为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 0;

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 {};

Dubbo的@Reference和@Service说明

标签:ica   out   turn   res   path   log   cal   OLE   document   

原文地址:https://www.cnblogs.com/lgjlife/p/10225271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!