You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by il...@apache.org on 2018/11/08 06:14:57 UTC
[incubator-dubbo] branch master updated: [Dubbo-2353]fix Invalid
property 'interfaceName' of bean class
[org.apache.dubbo.config.spring.ServiceBean]#2353 (#2418)
This is an automated email from the ASF dual-hosted git repository.
iluo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/master by this push:
new 117d485 [Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]#2353 (#2418)
117d485 is described below
commit 117d48530672440bdb63ab68033f71a9535e1473
Author: alphacba <ke...@users.noreply.github.com>
AuthorDate: Thu Nov 8 14:14:50 2018 +0800
[Dubbo-2353]fix Invalid property 'interfaceName' of bean class [org.apache.dubbo.config.spring.ServiceBean]#2353 (#2418)
* add getter and setter for ServiceConfig's interfaceName property#2353
* add interfaceName to ignoreAttributeNames and change the unit test
* delete the demo source code and update the unit test
* unchange ServiceConfig
* update unit test
* update unit test
---
.../ServiceAnnotationBeanPostProcessor.java | 2 +-
.../org/apache/dubbo/config/spring/ConfigTest.java | 19 +++++++++++++++++++
.../context/annotation/provider/HelloServiceImpl.java | 2 +-
3 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceAnnotationBeanPostProcessor.java b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceAnnotationBeanPostProcessor.java
index ad4a6c4..c08cc13 100644
--- a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceAnnotationBeanPostProcessor.java
+++ b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/beans/factory/annotation/ServiceAnnotationBeanPostProcessor.java
@@ -387,7 +387,7 @@ public class ServiceAnnotationBeanPostProcessor implements BeanDefinitionRegistr
MutablePropertyValues propertyValues = beanDefinition.getPropertyValues();
- String[] ignoreAttributeNames = of("provider", "monitor", "application", "module", "registry", "protocol", "interface");
+ String[] ignoreAttributeNames = of("provider", "monitor", "application", "module", "registry", "protocol", "interface", "interfaceName");
propertyValues.addPropertyValues(new AnnotationPropertyValuesAdapter(service, environment, ignoreAttributeNames));
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/ConfigTest.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/ConfigTest.java
index d36fedc..d68a295 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/ConfigTest.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/ConfigTest.java
@@ -33,6 +33,7 @@ import org.apache.dubbo.config.spring.action.DemoActionBySetter;
import org.apache.dubbo.config.spring.annotation.consumer.AnnotationAction;
import org.apache.dubbo.config.spring.api.DemoService;
import org.apache.dubbo.config.spring.api.HelloService;
+import org.apache.dubbo.config.spring.context.annotation.provider.ProviderConfiguration;
import org.apache.dubbo.config.spring.filter.MockFilter;
import org.apache.dubbo.config.spring.impl.DemoServiceImpl;
import org.apache.dubbo.config.spring.impl.HelloServiceImpl;
@@ -50,6 +51,7 @@ import org.junit.Assert;
import org.junit.Ignore;
import org.junit.Test;
import org.springframework.beans.factory.BeanCreationException;
+import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.Collection;
@@ -106,6 +108,23 @@ public class ConfigTest {
}
@Test
+ public void testServiceAnnotation() {
+ AnnotationConfigApplicationContext providerContext = new AnnotationConfigApplicationContext();
+ providerContext.register(ProviderConfiguration.class);
+
+ providerContext.refresh();
+
+ ReferenceConfig<HelloService> reference = new ReferenceConfig<HelloService>();
+ reference.setApplication(new ApplicationConfig("consumer"));
+ reference.setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE));
+ reference.setInterface(HelloService.class);
+ reference.setUrl("dubbo://127.0.0.1:12345");
+ String hello = reference.get().sayHello("hello");
+ assertEquals("Hello, hello", hello);
+
+ }
+
+ @Test
@SuppressWarnings("unchecked")
public void testProviderNestedService() {
ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(ConfigTest.class.getPackage().getName().replace('.', '/') + "/provider-nested-service.xml");
diff --git a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/HelloServiceImpl.java b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/HelloServiceImpl.java
index 1c4b405..982e52a 100644
--- a/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/HelloServiceImpl.java
+++ b/dubbo-config/dubbo-config-spring/src/test/java/org/apache/dubbo/config/spring/context/annotation/provider/HelloServiceImpl.java
@@ -24,7 +24,7 @@ import org.apache.dubbo.config.spring.api.HelloService;
*
* @since 2.5.9
*/
-@Service
+@Service(interfaceName = "org.apache.dubbo.config.spring.api.HelloService")
public class HelloServiceImpl implements HelloService {
@Override