This is an automated email from the ASF dual-hosted git repository.
liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git
The following commit(s) were added to refs/heads/dev-metadata by this push:
new 4097405 Add spring annotation support for ConfigCenter.
4097405 is described below
commit 4097405882e2d04b206a992ef685f8a312224a19
Author: ken.lj <[email protected]>
AuthorDate: Tue Nov 6 14:22:07 2018 +0800
Add spring annotation support for ConfigCenter.
---
.../src/main/java/org/apache/dubbo/config/AbstractConfig.java | 2 +-
.../src/main/java/org/apache/dubbo/config/ProtocolConfig.java | 6 ++++++
.../main/java/org/apache/dubbo/config/spring/ConfigCenterBean.java | 3 +++
.../config/spring/context/annotation/DubboConfigConfiguration.java | 5 ++++-
4 files changed, 14 insertions(+), 2 deletions(-)
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
index 236e2ba..ffb0f03 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractConfig.java
@@ -541,7 +541,7 @@ public abstract class AbstractConfig implements
Serializable {
method.invoke(this,
convertPrimitive(method.getParameterTypes()[0], value));
}
} catch (NoSuchMethodException e) {
- logger.warn("Failed to override the property " +
method.getName() + " in " + this.getClass().getSimpleName() + ", please make
sure every property has a getter/setter pair.");
+ logger.warn("Failed to override the property " +
method.getName() + " in " + this.getClass().getSimpleName() + ", please make
sure every property has a getter/setter pair.", e);
}
}
}
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
index e01b243..7e45e4c 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ProtocolConfig.java
@@ -20,6 +20,7 @@ import org.apache.dubbo.common.extension.ExtensionLoader;
import org.apache.dubbo.common.serialize.Serialization;
import org.apache.dubbo.common.status.StatusChecker;
import org.apache.dubbo.common.threadpool.ThreadPool;
+import org.apache.dubbo.common.utils.StringUtils;
import org.apache.dubbo.config.support.Parameter;
import org.apache.dubbo.remoting.Codec;
import org.apache.dubbo.remoting.Dispatcher;
@@ -470,4 +471,9 @@ public class ProtocolConfig extends AbstractConfig {
ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(name).destroy();
}
}
+
+ @Override
+ public boolean isValid() {
+ return StringUtils.isNotEmpty(name);
+ }
}
\ No newline at end of file
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ConfigCenterBean.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ConfigCenterBean.java
index 4995acc..b8754a2 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ConfigCenterBean.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ConfigCenterBean.java
@@ -21,7 +21,10 @@ import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
/**
+ * Since 2.7.0+, export and refer will only be executed when Spring is fully
initialized, and each Config bean will get refreshed on the start of the export
and refer process.
+ * So it's ok for this bean not to be the first Dubbo Config bean being
initialized.
*
+ * If use ConfigCenterConfig directly, you should make sure
ConfigCenterConfig.init() is called before actually export/refer any Dubbo
service.
*/
public class ConfigCenterBean extends ConfigCenterConfig implements
InitializingBean, DisposableBean {
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
index b3e98a5..8f4dea8 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/context/annotation/DubboConfigConfiguration.java
@@ -24,6 +24,7 @@ import org.apache.dubbo.config.MonitorConfig;
import org.apache.dubbo.config.ProtocolConfig;
import org.apache.dubbo.config.ProviderConfig;
import org.apache.dubbo.config.RegistryConfig;
+import org.apache.dubbo.config.spring.ConfigCenterBean;
import org.springframework.context.annotation.Configuration;
/**
@@ -39,6 +40,7 @@ import org.springframework.context.annotation.Configuration;
* @see MonitorConfig
* @see ProviderConfig
* @see ConsumerConfig
+ * @see org.apache.dubbo.config.ConfigCenterConfig
* @since 2.5.8
*/
public class DubboConfigConfiguration {
@@ -53,7 +55,8 @@ public class DubboConfigConfiguration {
@EnableDubboConfigBinding(prefix = "dubbo.protocol", type =
ProtocolConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.monitor", type =
MonitorConfig.class),
@EnableDubboConfigBinding(prefix = "dubbo.provider", type =
ProviderConfig.class),
- @EnableDubboConfigBinding(prefix = "dubbo.consumer", type =
ConsumerConfig.class)
+ @EnableDubboConfigBinding(prefix = "dubbo.consumer", type =
ConsumerConfig.class),
+ @EnableDubboConfigBinding(prefix = "dubbo.configcenter", type =
ConfigCenterBean.class)
})
public static class Single {