com.alibaba.dubbo.config.annotation.Reference类的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(13.6k)|赞(0)|评价(0)|浏览(302)

本文整理了Java中com.alibaba.dubbo.config.annotation.Reference类的一些代码示例,展示了Reference类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Reference类的具体详情如下:
包路径:com.alibaba.dubbo.config.annotation.Reference
类名称:Reference

Reference介绍

暂无

代码示例

代码示例来源:origin: alibaba/Sentinel

  1. /**
  2. * @author Eric Zhao
  3. */
  4. public class FooServiceConsumer {
  5. @Reference(url = "dubbo://127.0.0.1:25758", timeout = 3000)
  6. private FooService fooService;
  7. public String sayHello(String name) {
  8. return fooService.sayHello(name);
  9. }
  10. public String doAnother() {
  11. return fooService.doAnother();
  12. }
  13. }

代码示例来源:origin: apache/incubator-dubbo

  1. /**
  2. * Generate a cache key of {@link ReferenceBean}
  3. *
  4. * @param reference {@link Reference}
  5. * @param beanClass {@link Class}
  6. * @return
  7. */
  8. private String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
  9. String interfaceName = resolveInterfaceName(reference, beanClass);
  10. String key = reference.url() + "/" + interfaceName +
  11. "/" + reference.version() +
  12. "/" + reference.group();
  13. Environment environment = applicationContext.getEnvironment();
  14. key = environment.resolvePlaceholders(key);
  15. return key;
  16. }

代码示例来源:origin: alibaba/dubbo-spring-boot-starter

  1. throws BeansException {
  2. ReferenceBean<T> referenceBean = new ReferenceBean<T>(reference);
  3. if ((reference.interfaceClass() == null || reference.interfaceClass() == void.class)
  4. && (reference.interfaceName() == null || "".equals(reference.interfaceName()))) {
  5. referenceBean.setInterface(field.getType());
  6. String application = reference.application();
  7. referenceBean.setApplication(this.parseApplication(application, this.properties, environment,
  8. beanName, field.getName(), "application", application));
  9. String module = reference.module();
  10. referenceBean.setModule(this.parseModule(module, this.properties, environment, beanName,
  11. field.getName(), "module", module));
  12. String[] registries = reference.registry();
  13. referenceBean.setRegistries(this.parseRegistries(registries, this.properties, environment,
  14. beanName, field.getName(), "registry"));
  15. String monitor = reference.monitor();
  16. referenceBean.setMonitor(this.parseMonitor(monitor, this.properties, environment, beanName,
  17. field.getName(), "monitor", monitor));
  18. String consumer = reference.consumer();
  19. referenceBean.setConsumer(this.parseConsumer(consumer, this.properties, environment, beanName,
  20. field.getName(), "consumer", consumer));

代码示例来源:origin: apache/incubator-dubbo

  1. private static String resolveInterfaceName(Reference reference, Class<?> beanClass)
  2. throws IllegalStateException {
  3. String interfaceName;
  4. if (!"".equals(reference.interfaceName())) {
  5. interfaceName = reference.interfaceName();
  6. } else if (!void.class.equals(reference.interfaceClass())) {
  7. interfaceName = reference.interfaceClass().getName();
  8. } else if (beanClass.isInterface()) {
  9. interfaceName = beanClass.getName();
  10. } else {
  11. throw new IllegalStateException(
  12. "The @Reference undefined interfaceClass or interfaceName, and the property type "
  13. + beanClass.getName() + " is not a interface.");
  14. }
  15. return interfaceName;
  16. }

代码示例来源:origin: remoting/dubbox

  1. private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
  2. String interfaceName;
  3. if (! "".equals(reference.interfaceName())) {
  4. interfaceName = reference.interfaceName();
  5. } else if (! void.class.equals(reference.interfaceClass())) {
  6. interfaceName = reference.interfaceClass().getName();
  7. } else if (referenceClass.isInterface()) {
  8. interfaceName = referenceClass.getName();
  9. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  10. ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
  11. if (referenceConfig == null) {
  12. referenceConfig = new ReferenceBean<Object>(reference);
  13. if (void.class.equals(reference.interfaceClass())
  14. && "".equals(reference.interfaceName())
  15. && referenceClass.isInterface()) {
  16. referenceConfig.setInterface(referenceClass);
  17. if (reference.registry() != null && reference.registry().length > 0) {
  18. List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
  19. for (String registryId : reference.registry()) {
  20. if (registryId != null && registryId.length() > 0) {
  21. registryConfigs.add((RegistryConfig)applicationContext.getBean(registryId, RegistryConfig.class));
  22. if (reference.consumer() != null && reference.consumer().length() > 0) {
  23. referenceConfig.setConsumer((ConsumerConfig)applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
  24. if (reference.monitor() != null && reference.monitor().length() > 0) {
  25. referenceConfig.setMonitor((MonitorConfig)applicationContext.getBean(reference.monitor(), MonitorConfig.class));

代码示例来源:origin: com.gitee.reger/spring-boot-starter-dubbo

  1. private static String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
  2. String interfaceName = resolveInterfaceName(reference, beanClass);
  3. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  4. return key;
  5. }

代码示例来源:origin: wu191287278/spring-boot-starter-dubbo

  1. if (reference.timeout() == 0) {
  2. beanDefinitionBuilder.addPropertyValue("timeout", Integer.parseInt(timeout));
  3. if (!StringUtils.isEmpty(reference.group())) {
  4. beanDefinitionBuilder.addPropertyValue("group", resolve(reference.group()));
  5. if (!StringUtils.isEmpty(reference.version())) {
  6. beanDefinitionBuilder.addPropertyValue("version", resolve(reference.version()));
  7. if (!StringUtils.isEmpty(reference.url())) {
  8. beanDefinitionBuilder.addPropertyValue("url", resolve(reference.url()));
  9. if (!StringUtils.isEmpty(reference.loadbalance())) {
  10. beanDefinitionBuilder.addPropertyValue("loadbalance", resolve(reference.loadbalance()));
  11. beanDefinitionBuilder.addPropertyValue("check", reference.check());

代码示例来源:origin: apache/incubator-dubbo

  1. @Override
  2. protected String resolveApplicationConfigBeanName(Reference annotation) {
  3. return annotation.application();
  4. }

代码示例来源:origin: remoting/dubbox

  1. private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
  2. String interfaceName;
  3. if (! "".equals(reference.interfaceName())) {
  4. interfaceName = reference.interfaceName();
  5. } else if (! void.class.equals(reference.interfaceClass())) {
  6. interfaceName = reference.interfaceClass().getName();
  7. } else if (referenceClass.isInterface()) {
  8. interfaceName = referenceClass.getName();
  9. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  10. ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
  11. if (referenceConfig == null) {
  12. referenceConfig = new ReferenceBean<Object>(reference);
  13. if (void.class.equals(reference.interfaceClass())
  14. && "".equals(reference.interfaceName())
  15. && referenceClass.isInterface()) {
  16. referenceConfig.setInterface(referenceClass);
  17. if (reference.registry() != null && reference.registry().length > 0) {
  18. List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
  19. for (String registryId : reference.registry()) {
  20. if (registryId != null && registryId.length() > 0) {
  21. registryConfigs.add((RegistryConfig)applicationContext.getBean(registryId, RegistryConfig.class));
  22. if (reference.consumer() != null && reference.consumer().length() > 0) {
  23. referenceConfig.setConsumer((ConsumerConfig)applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
  24. if (reference.monitor() != null && reference.monitor().length() > 0) {
  25. referenceConfig.setMonitor((MonitorConfig)applicationContext.getBean(reference.monitor(), MonitorConfig.class));

代码示例来源:origin: apache/incubator-dubbo

  1. private static String resolveInterfaceName(Reference reference, Class<?> beanClass)
  2. throws IllegalStateException {
  3. String interfaceName;
  4. if (!"".equals(reference.interfaceName())) {
  5. interfaceName = reference.interfaceName();
  6. } else if (!void.class.equals(reference.interfaceClass())) {
  7. interfaceName = reference.interfaceClass().getName();
  8. } else if (beanClass.isInterface()) {
  9. interfaceName = beanClass.getName();
  10. } else {
  11. throw new IllegalStateException(
  12. "The @Reference undefined interfaceClass or interfaceName, and the property type "
  13. + beanClass.getName() + " is not a interface.");
  14. }
  15. return interfaceName;
  16. }

代码示例来源:origin: halober/spring-boot-starter-dubbo

  1. private static String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
  2. String interfaceName = resolveInterfaceName(reference, beanClass);
  3. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  4. return key;
  5. }

代码示例来源:origin: apache/incubator-dubbo

  1. @Override
  2. protected String resolveApplicationConfigBeanName(Reference annotation) {
  3. return annotation.application();
  4. }

代码示例来源:origin: spring-cloud-incubator/spring-cloud-alibaba

  1. /**
  2. * @author fangjian
  3. */
  4. public class FooServiceConsumer {
  5. @Reference(version = "${foo.service.version}", application = "${dubbo.application.id}",
  6. url = "dubbo://localhost:12345", timeout = 30000)
  7. private FooService fooService;
  8. public String hello(String name) {
  9. return fooService.hello(name);
  10. }
  11. }

代码示例来源:origin: Athlizo/dubbo-spring-boot-starter

  1. private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
  2. String interfaceName;
  3. if (!"".equals(reference.interfaceName())) {
  4. interfaceName = reference.interfaceName();
  5. } else if (!void.class.equals(reference.interfaceClass())) {
  6. interfaceName = reference.interfaceClass().getName();
  7. } else if (referenceClass.isInterface()) {
  8. interfaceName = referenceClass.getName();
  9. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  10. ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
  11. if (referenceConfig == null) {
  12. referenceConfig = new ReferenceBean<Object>(reference);
  13. if (void.class.equals(reference.interfaceClass())
  14. && "".equals(reference.interfaceName())
  15. && referenceClass.isInterface()) {
  16. referenceConfig.setInterface(referenceClass);
  17. if (reference.registry() != null && reference.registry().length > 0) {
  18. List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
  19. for (String registryId : reference.registry()) {
  20. if (registryId != null && registryId.length() > 0) {
  21. registryConfigs.add(applicationContext.getBean(registryId, RegistryConfig.class));
  22. if (reference.consumer() != null && reference.consumer().length() > 0) {
  23. referenceConfig.setConsumer(applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
  24. if (reference.monitor() != null && reference.monitor().length() > 0) {
  25. referenceConfig.setMonitor(applicationContext.getBean(reference.monitor(), MonitorConfig.class));

代码示例来源:origin: apache/incubator-dubbo

  1. private void configureInterface(Reference reference, ReferenceBean referenceBean) {
  2. Class<?> interfaceClass = reference.interfaceClass();
  3. if (void.class.equals(interfaceClass)) {
  4. interfaceClass = null;
  5. String interfaceClassName = reference.interfaceName();
  6. if (StringUtils.hasText(interfaceClassName)) {
  7. if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
  8. interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
  9. }
  10. }
  11. }
  12. if (interfaceClass == null) {
  13. interfaceClass = this.interfaceClass;
  14. }
  15. Assert.isTrue(interfaceClass.isInterface(),
  16. "The class of field or method that was annotated @Reference is not an interface!");
  17. referenceBean.setInterface(interfaceClass);
  18. }

代码示例来源:origin: apache/incubator-dubbo

  1. /**
  2. * Generate a cache key of {@link ReferenceBean}
  3. *
  4. * @param reference {@link Reference}
  5. * @param beanClass {@link Class}
  6. * @return
  7. */
  8. private String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
  9. String interfaceName = resolveInterfaceName(reference, beanClass);
  10. String key = reference.url() + "/" + interfaceName +
  11. "/" + reference.version() +
  12. "/" + reference.group();
  13. Environment environment = applicationContext.getEnvironment();
  14. key = environment.resolvePlaceholders(key);
  15. return key;
  16. }

代码示例来源:origin: com.alibaba/dubbo

  1. private ServiceBeanNameBuilder(Reference reference, Class<?> interfaceClass, Environment environment) {
  2. this(resolveInterfaceName(reference, interfaceClass), environment);
  3. this.group(reference.group());
  4. this.version(reference.version());
  5. }

代码示例来源:origin: com.alibaba/dubbo

  1. @Override
  2. protected String resolveApplicationConfigBeanName(Reference annotation) {
  3. return annotation.application();
  4. }

代码示例来源:origin: wuyouzhuguli/SpringAll

  1. @RestController
  2. public class HelloController {
  3. @Reference
  4. private HelloService helloService;
  5. @GetMapping("/hello/{message}")
  6. public String hello(@PathVariable String message) {
  7. return this.helloService.hello(message);
  8. }
  9. }

代码示例来源:origin: com.alibaba/dubbo

  1. private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
  2. String interfaceName;
  3. if (!"".equals(reference.interfaceName())) {
  4. interfaceName = reference.interfaceName();
  5. } else if (!void.class.equals(reference.interfaceClass())) {
  6. interfaceName = reference.interfaceClass().getName();
  7. } else if (referenceClass.isInterface()) {
  8. interfaceName = referenceClass.getName();
  9. String key = reference.group() + "/" + interfaceName + ":" + reference.version();
  10. ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
  11. if (referenceConfig == null) {
  12. referenceConfig = new ReferenceBean<Object>(reference);
  13. if (void.class.equals(reference.interfaceClass())
  14. && "".equals(reference.interfaceName())
  15. && referenceClass.isInterface()) {
  16. referenceConfig.setInterface(referenceClass);
  17. if (reference.registry().length > 0) {
  18. List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
  19. for (String registryId : reference.registry()) {
  20. if (registryId != null && registryId.length() > 0) {
  21. registryConfigs.add(applicationContext.getBean(registryId, RegistryConfig.class));
  22. if (reference.consumer().length() > 0) {
  23. referenceConfig.setConsumer(applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
  24. if (reference.monitor().length() > 0) {
  25. referenceConfig.setMonitor(applicationContext.getBean(reference.monitor(), MonitorConfig.class));

相关文章