You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by me...@apache.org on 2020/04/24 06:49:50 UTC
[dubbo] branch master updated: set reference bean definition target
type (#5710)
This is an automated email from the ASF dual-hosted git repository.
mercyblitz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 2ccd50f set reference bean definition target type (#5710)
2ccd50f is described below
commit 2ccd50f0780c619f353d8d4ede1ab0647cbe2733
Author: mooseen <qu...@163.com>
AuthorDate: Fri Apr 24 14:49:31 2020 +0800
set reference bean definition target type (#5710)
Co-authored-by: quzijing <qu...@oppo.com>
---
.../dubbo/config/spring/schema/DubboBeanDefinitionParser.java | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboBeanDefinitionParser.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
index 9c5d9c1..1cf027a 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/schema/DubboBeanDefinitionParser.java
@@ -129,7 +129,13 @@ public class DubboBeanDefinitionParser implements BeanDefinitionParser {
parseProperties(element.getChildNodes(), classDefinition);
beanDefinition.getPropertyValues().addPropertyValue("ref", new BeanDefinitionHolder(classDefinition, id + "Impl"));
}
- } else if (ProviderConfig.class.equals(beanClass)) {
+ } else if(ReferenceBean.class.equals(beanClass)){
+ String interfaceClassName = element.getAttribute("interface");
+ if(StringUtils.isNotEmpty(interfaceClassName)){
+ Class<?> interfaceClass = ReflectUtils.forName(interfaceClassName);
+ beanDefinition.setTargetType(interfaceClass);
+ }
+ }else if (ProviderConfig.class.equals(beanClass)) {
parseNested(element, parserContext, ServiceBean.class, true, "service", "provider", id, beanDefinition);
} else if (ConsumerConfig.class.equals(beanClass)) {
parseNested(element, parserContext, ReferenceBean.class, false, "reference", "consumer", id, beanDefinition);