标签: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;
}
}
可以看出该注解可以用在属性或者方法上
@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 {}; }
注解所在的接口类,可以不写,比如上面的为
interfaceClass = RemoteUserService.class
上述也可以通过接口全类名来实现,可以不写
interfaceName ="com.dubbo.frame.common.service.RemoteUserService"
版本号,提供端的@Reference 和消费端的@Service 上的版本号必须一致。
分组,提供端的@Reference 和消费端的@Service 上的group必须一致。
消费端的group也可以写成 group=“*”,表示适配所有。
String url() default "";
true:启动时检查是否有可用的服务,如果没有则启动失败
false:启动时不检查,使用时才检查,也就是懒加载
应当设置为true。
标签:ica out turn res path log cal OLE document
原文地址:https://www.cnblogs.com/lgjlife/p/10225271.html