本文整理了Java中com.alibaba.dubbo.config.annotation.Reference
类的一些代码示例,展示了Reference
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Reference
类的具体详情如下:
包路径:com.alibaba.dubbo.config.annotation.Reference
类名称:Reference
暂无
代码示例来源:origin: alibaba/Sentinel
/**
* @author Eric Zhao
*/
public class FooServiceConsumer {
@Reference(url = "dubbo://127.0.0.1:25758", timeout = 3000)
private FooService fooService;
public String sayHello(String name) {
return fooService.sayHello(name);
}
public String doAnother() {
return fooService.doAnother();
}
}
代码示例来源:origin: apache/incubator-dubbo
/**
* Generate a cache key of {@link ReferenceBean}
*
* @param reference {@link Reference}
* @param beanClass {@link Class}
* @return
*/
private String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
String interfaceName = resolveInterfaceName(reference, beanClass);
String key = reference.url() + "/" + interfaceName +
"/" + reference.version() +
"/" + reference.group();
Environment environment = applicationContext.getEnvironment();
key = environment.resolvePlaceholders(key);
return key;
}
代码示例来源:origin: alibaba/dubbo-spring-boot-starter
throws BeansException {
ReferenceBean<T> referenceBean = new ReferenceBean<T>(reference);
if ((reference.interfaceClass() == null || reference.interfaceClass() == void.class)
&& (reference.interfaceName() == null || "".equals(reference.interfaceName()))) {
referenceBean.setInterface(field.getType());
String application = reference.application();
referenceBean.setApplication(this.parseApplication(application, this.properties, environment,
beanName, field.getName(), "application", application));
String module = reference.module();
referenceBean.setModule(this.parseModule(module, this.properties, environment, beanName,
field.getName(), "module", module));
String[] registries = reference.registry();
referenceBean.setRegistries(this.parseRegistries(registries, this.properties, environment,
beanName, field.getName(), "registry"));
String monitor = reference.monitor();
referenceBean.setMonitor(this.parseMonitor(monitor, this.properties, environment, beanName,
field.getName(), "monitor", monitor));
String consumer = reference.consumer();
referenceBean.setConsumer(this.parseConsumer(consumer, this.properties, environment, beanName,
field.getName(), "consumer", consumer));
代码示例来源:origin: apache/incubator-dubbo
private static String resolveInterfaceName(Reference reference, Class<?> beanClass)
throws IllegalStateException {
String interfaceName;
if (!"".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (!void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (beanClass.isInterface()) {
interfaceName = beanClass.getName();
} else {
throw new IllegalStateException(
"The @Reference undefined interfaceClass or interfaceName, and the property type "
+ beanClass.getName() + " is not a interface.");
}
return interfaceName;
}
代码示例来源:origin: remoting/dubbox
private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
String interfaceName;
if (! "".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (! void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (referenceClass.isInterface()) {
interfaceName = referenceClass.getName();
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
if (referenceConfig == null) {
referenceConfig = new ReferenceBean<Object>(reference);
if (void.class.equals(reference.interfaceClass())
&& "".equals(reference.interfaceName())
&& referenceClass.isInterface()) {
referenceConfig.setInterface(referenceClass);
if (reference.registry() != null && reference.registry().length > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
for (String registryId : reference.registry()) {
if (registryId != null && registryId.length() > 0) {
registryConfigs.add((RegistryConfig)applicationContext.getBean(registryId, RegistryConfig.class));
if (reference.consumer() != null && reference.consumer().length() > 0) {
referenceConfig.setConsumer((ConsumerConfig)applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
if (reference.monitor() != null && reference.monitor().length() > 0) {
referenceConfig.setMonitor((MonitorConfig)applicationContext.getBean(reference.monitor(), MonitorConfig.class));
代码示例来源:origin: com.gitee.reger/spring-boot-starter-dubbo
private static String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
String interfaceName = resolveInterfaceName(reference, beanClass);
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
return key;
}
代码示例来源:origin: wu191287278/spring-boot-starter-dubbo
if (reference.timeout() == 0) {
beanDefinitionBuilder.addPropertyValue("timeout", Integer.parseInt(timeout));
if (!StringUtils.isEmpty(reference.group())) {
beanDefinitionBuilder.addPropertyValue("group", resolve(reference.group()));
if (!StringUtils.isEmpty(reference.version())) {
beanDefinitionBuilder.addPropertyValue("version", resolve(reference.version()));
if (!StringUtils.isEmpty(reference.url())) {
beanDefinitionBuilder.addPropertyValue("url", resolve(reference.url()));
if (!StringUtils.isEmpty(reference.loadbalance())) {
beanDefinitionBuilder.addPropertyValue("loadbalance", resolve(reference.loadbalance()));
beanDefinitionBuilder.addPropertyValue("check", reference.check());
代码示例来源:origin: apache/incubator-dubbo
@Override
protected String resolveApplicationConfigBeanName(Reference annotation) {
return annotation.application();
}
代码示例来源:origin: remoting/dubbox
private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
String interfaceName;
if (! "".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (! void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (referenceClass.isInterface()) {
interfaceName = referenceClass.getName();
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
if (referenceConfig == null) {
referenceConfig = new ReferenceBean<Object>(reference);
if (void.class.equals(reference.interfaceClass())
&& "".equals(reference.interfaceName())
&& referenceClass.isInterface()) {
referenceConfig.setInterface(referenceClass);
if (reference.registry() != null && reference.registry().length > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
for (String registryId : reference.registry()) {
if (registryId != null && registryId.length() > 0) {
registryConfigs.add((RegistryConfig)applicationContext.getBean(registryId, RegistryConfig.class));
if (reference.consumer() != null && reference.consumer().length() > 0) {
referenceConfig.setConsumer((ConsumerConfig)applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
if (reference.monitor() != null && reference.monitor().length() > 0) {
referenceConfig.setMonitor((MonitorConfig)applicationContext.getBean(reference.monitor(), MonitorConfig.class));
代码示例来源:origin: apache/incubator-dubbo
private static String resolveInterfaceName(Reference reference, Class<?> beanClass)
throws IllegalStateException {
String interfaceName;
if (!"".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (!void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (beanClass.isInterface()) {
interfaceName = beanClass.getName();
} else {
throw new IllegalStateException(
"The @Reference undefined interfaceClass or interfaceName, and the property type "
+ beanClass.getName() + " is not a interface.");
}
return interfaceName;
}
代码示例来源:origin: halober/spring-boot-starter-dubbo
private static String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
String interfaceName = resolveInterfaceName(reference, beanClass);
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
return key;
}
代码示例来源:origin: apache/incubator-dubbo
@Override
protected String resolveApplicationConfigBeanName(Reference annotation) {
return annotation.application();
}
代码示例来源:origin: spring-cloud-incubator/spring-cloud-alibaba
/**
* @author fangjian
*/
public class FooServiceConsumer {
@Reference(version = "${foo.service.version}", application = "${dubbo.application.id}",
url = "dubbo://localhost:12345", timeout = 30000)
private FooService fooService;
public String hello(String name) {
return fooService.hello(name);
}
}
代码示例来源:origin: Athlizo/dubbo-spring-boot-starter
private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
String interfaceName;
if (!"".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (!void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (referenceClass.isInterface()) {
interfaceName = referenceClass.getName();
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
if (referenceConfig == null) {
referenceConfig = new ReferenceBean<Object>(reference);
if (void.class.equals(reference.interfaceClass())
&& "".equals(reference.interfaceName())
&& referenceClass.isInterface()) {
referenceConfig.setInterface(referenceClass);
if (reference.registry() != null && reference.registry().length > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
for (String registryId : reference.registry()) {
if (registryId != null && registryId.length() > 0) {
registryConfigs.add(applicationContext.getBean(registryId, RegistryConfig.class));
if (reference.consumer() != null && reference.consumer().length() > 0) {
referenceConfig.setConsumer(applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
if (reference.monitor() != null && reference.monitor().length() > 0) {
referenceConfig.setMonitor(applicationContext.getBean(reference.monitor(), MonitorConfig.class));
代码示例来源:origin: apache/incubator-dubbo
private void configureInterface(Reference reference, ReferenceBean referenceBean) {
Class<?> interfaceClass = reference.interfaceClass();
if (void.class.equals(interfaceClass)) {
interfaceClass = null;
String interfaceClassName = reference.interfaceName();
if (StringUtils.hasText(interfaceClassName)) {
if (ClassUtils.isPresent(interfaceClassName, classLoader)) {
interfaceClass = ClassUtils.resolveClassName(interfaceClassName, classLoader);
}
}
}
if (interfaceClass == null) {
interfaceClass = this.interfaceClass;
}
Assert.isTrue(interfaceClass.isInterface(),
"The class of field or method that was annotated @Reference is not an interface!");
referenceBean.setInterface(interfaceClass);
}
代码示例来源:origin: apache/incubator-dubbo
/**
* Generate a cache key of {@link ReferenceBean}
*
* @param reference {@link Reference}
* @param beanClass {@link Class}
* @return
*/
private String generateReferenceBeanCacheKey(Reference reference, Class<?> beanClass) {
String interfaceName = resolveInterfaceName(reference, beanClass);
String key = reference.url() + "/" + interfaceName +
"/" + reference.version() +
"/" + reference.group();
Environment environment = applicationContext.getEnvironment();
key = environment.resolvePlaceholders(key);
return key;
}
代码示例来源:origin: com.alibaba/dubbo
private ServiceBeanNameBuilder(Reference reference, Class<?> interfaceClass, Environment environment) {
this(resolveInterfaceName(reference, interfaceClass), environment);
this.group(reference.group());
this.version(reference.version());
}
代码示例来源:origin: com.alibaba/dubbo
@Override
protected String resolveApplicationConfigBeanName(Reference annotation) {
return annotation.application();
}
代码示例来源:origin: wuyouzhuguli/SpringAll
@RestController
public class HelloController {
@Reference
private HelloService helloService;
@GetMapping("/hello/{message}")
public String hello(@PathVariable String message) {
return this.helloService.hello(message);
}
}
代码示例来源:origin: com.alibaba/dubbo
private Object refer(Reference reference, Class<?> referenceClass) { //method.getParameterTypes()[0]
String interfaceName;
if (!"".equals(reference.interfaceName())) {
interfaceName = reference.interfaceName();
} else if (!void.class.equals(reference.interfaceClass())) {
interfaceName = reference.interfaceClass().getName();
} else if (referenceClass.isInterface()) {
interfaceName = referenceClass.getName();
String key = reference.group() + "/" + interfaceName + ":" + reference.version();
ReferenceBean<?> referenceConfig = referenceConfigs.get(key);
if (referenceConfig == null) {
referenceConfig = new ReferenceBean<Object>(reference);
if (void.class.equals(reference.interfaceClass())
&& "".equals(reference.interfaceName())
&& referenceClass.isInterface()) {
referenceConfig.setInterface(referenceClass);
if (reference.registry().length > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<RegistryConfig>();
for (String registryId : reference.registry()) {
if (registryId != null && registryId.length() > 0) {
registryConfigs.add(applicationContext.getBean(registryId, RegistryConfig.class));
if (reference.consumer().length() > 0) {
referenceConfig.setConsumer(applicationContext.getBean(reference.consumer(), ConsumerConfig.class));
if (reference.monitor().length() > 0) {
referenceConfig.setMonitor(applicationContext.getBean(reference.monitor(), MonitorConfig.class));
内容来源于网络,如有侵权,请联系作者删除!