This is an automated email from the ASF dual-hosted git repository.
liujun 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 86982cf Fix spring doesn't allow setter override. (#3066)
86982cf is described below
commit 86982cff8c342e5fc648e2ef8a22ef11d43bbd9c
Author: ken.lj <[email protected]>
AuthorDate: Wed Dec 26 20:17:28 2018 +0800
Fix spring doesn't allow setter override. (#3066)
* Metadata does not to consider @Parameter(append, escape)
* Fix spring doesn't support setter override: change method name from
setProtocol/setRegistry to setProtocolIds/setRegistryIds
---
.../org/apache/dubbo/config/AbstractConfig.java | 21 ------------
.../dubbo/config/AbstractInterfaceConfig.java | 24 +++++++-------
.../apache/dubbo/config/AbstractServiceConfig.java | 10 +++---
.../org/apache/dubbo/config/ApplicationConfig.java | 10 +++---
.../org/apache/dubbo/config/ServiceConfig.java | 24 +++++++-------
.../apache/dubbo/config/spring/ReferenceBean.java | 20 ++++++------
.../apache/dubbo/config/spring/ServiceBean.java | 38 +++++++++++-----------
.../spring/schema/DubboBeanDefinitionParser.java | 9 ++++-
.../META-INF/spring/dubbo-demo-consumer.xml | 4 +--
.../META-INF/spring/dubbo-demo-provider.xml | 4 +--
10 files changed, 75 insertions(+), 89 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 6945266..418cf3e 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
@@ -478,31 +478,10 @@ public abstract class AbstractConfig implements
Serializable {
Object value = method.invoke(this);
String str = String.valueOf(value).trim();
if (value != null && str.length() > 0) {
- // ignore escape, keep the original value.
- /*if (parameter != null && parameter.escaped()) {
- str = URL.encode(str);
- }*/
- if (parameter != null && parameter.append()) {
- String pre =
String.valueOf(metaData.get(Constants.DEFAULT_KEY + "." + key));
- if (pre != null && pre.length() > 0) {
- str = pre + "," + str;
- }
- pre = String.valueOf(metaData.get(key));
- if (pre != null && pre.length() > 0) {
- str = pre + "," + str;
- }
- }
- /* if (prefix != null && prefix.length() > 0) {
- key = prefix + "." + key;
- }*/
metaData.put(key, str);
} else {
metaData.put(key, null);
}
- // TODO check required somewhere else.
- /*else if (parameter != null && parameter.required()) {
- throw new
IllegalStateException(this.getClass().getSimpleName() + "." + key + " == null");
- }*/
} else if ("getParameters".equals(name)
&& Modifier.isPublic(method.getModifiers())
&& method.getParameterTypes().length == 0
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
index c8e2dce..6bcb775 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
@@ -97,7 +97,7 @@ public abstract class AbstractInterfaceConfig extends
AbstractMethodConfig {
// registry centers
protected List<RegistryConfig> registries;
- protected String registryLiteral;
+ protected String registryIds;
// connection events
protected String onconnect;
@@ -114,7 +114,7 @@ public abstract class AbstractInterfaceConfig extends
AbstractMethodConfig {
protected void checkRegistry() {
loadRegistriesFromBackwardConfig();
- convertRegistryLiteralToRegistries();
+ convertRegistryIdsToRegistries();
for (RegistryConfig registryConfig : registries) {
registryConfig.refresh();
@@ -386,24 +386,24 @@ public abstract class AbstractInterfaceConfig extends
AbstractMethodConfig {
}
}
- private void convertRegistryLiteralToRegistries() {
- if (StringUtils.isEmpty(registryLiteral) && (registries == null ||
registries.isEmpty())) {
+ private void convertRegistryIdsToRegistries() {
+ if (StringUtils.isEmpty(registryIds) && (registries == null ||
registries.isEmpty())) {
Set<String> configedRegistries = new HashSet<>();
configedRegistries.addAll(getSubProperties(Environment.getInstance()
.getExternalConfigurationMap(),
Constants.REGISTRIES_SUFFIX));
configedRegistries.addAll(getSubProperties(Environment.getInstance()
.getAppExternalConfigurationMap(),
Constants.REGISTRIES_SUFFIX));
- registryLiteral = String.join(",", configedRegistries);
+ registryIds = String.join(",", configedRegistries);
}
- if (StringUtils.isEmpty(registryLiteral)) {
+ if (StringUtils.isEmpty(registryIds)) {
if (registries == null || registries.isEmpty()) {
registries = new ArrayList<>();
registries.add(new RegistryConfig());
}
} else {
- String[] arr =
Constants.COMMA_SPLIT_PATTERN.split(registryLiteral);
+ String[] arr = Constants.COMMA_SPLIT_PATTERN.split(registryIds);
if (registries == null || registries.isEmpty()) {
registries = new ArrayList<>();
}
@@ -415,7 +415,7 @@ public abstract class AbstractInterfaceConfig extends
AbstractMethodConfig {
}
});
if (registries.size() > arr.length) {
- throw new IllegalStateException("Too much registries found,
the registries assigned to this service are :" + registryLiteral + ", but got "
+ registries
+ throw new IllegalStateException("Too much registries found,
the registries assigned to this service are :" + registryIds + ", but got " +
registries
.size() + " registries!");
}
}
@@ -597,12 +597,12 @@ public abstract class AbstractInterfaceConfig extends
AbstractMethodConfig {
}
@Parameter(excluded = true)
- public String getRegistryLiteral() {
- return registryLiteral;
+ public String getRegistryIds() {
+ return registryIds;
}
- public void setRegistry(String registryLiteral) {
- this.registryLiteral = registryLiteral;
+ public void setRegistryIds(String registryIds) {
+ this.registryIds = registryIds;
}
public MonitorConfig getMonitor() {
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
index 2b3ae11..2f3311b 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractServiceConfig.java
@@ -62,7 +62,7 @@ public abstract class AbstractServiceConfig extends
AbstractInterfaceConfig {
// access log
protected String accesslog;
protected List<ProtocolConfig> protocols;
- protected String protocolLiteral;
+ protected String protocolIds;
// provider tag
protected String tag;
// max allowed execute times
@@ -176,12 +176,12 @@ public abstract class AbstractServiceConfig extends
AbstractInterfaceConfig {
}
@Parameter(excluded = true)
- public String getProtocolLiteral() {
- return protocolLiteral;
+ public String getProtocolIds() {
+ return protocolIds;
}
- public void setProtocol(String protocolLiteral) {
- this.protocolLiteral = protocolLiteral;
+ public void setProtocolIds(String protocolIds) {
+ this.protocolIds = protocolIds;
}
public String getAccesslog() {
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
index 37ae811..a5c29db 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
@@ -62,7 +62,7 @@ public class ApplicationConfig extends AbstractConfig {
// registry centers
private List<RegistryConfig> registries;
- private String registryLiteral;
+ private String registryIds;
// monitor center
private MonitorConfig monitor;
@@ -179,12 +179,12 @@ public class ApplicationConfig extends AbstractConfig {
}
@Parameter(excluded = true)
- public String getRegistryLiteral() {
- return registryLiteral;
+ public String getRegistryIds() {
+ return registryIds;
}
- public void setRegistry(String registryLiteral) {
- this.registryLiteral = registryLiteral;
+ public void setRegistryIds(String registryIds) {
+ this.registryIds = registryIds;
}
public MonitorConfig getMonitor() {
diff --git
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
index 1d20a57..db65ff7 100644
---
a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
+++
b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
@@ -91,7 +91,7 @@ public class ServiceConfig<T> extends AbstractServiceConfig {
// method configuration
private List<MethodConfig> methods;
private ProviderConfig provider;
- private String providerLiteral;
+ private String providerIds;
private transient volatile boolean exported;
private transient volatile boolean unexported;
@@ -726,7 +726,7 @@ public class ServiceConfig<T> extends AbstractServiceConfig
{
setProtocols(provider.getProtocols());
}
- convertProtocolLiteralToProtocols();
+ convertProtocolIdsToProtocols();
for (ProtocolConfig protocolConfig : protocols) {
if (StringUtils.isEmpty(protocolConfig.getName())) {
@@ -740,24 +740,24 @@ public class ServiceConfig<T> extends
AbstractServiceConfig {
}
}
- private void convertProtocolLiteralToProtocols() {
- if (StringUtils.isEmpty(protocolLiteral) && (protocols == null ||
protocols.isEmpty())) {
+ private void convertProtocolIdsToProtocols() {
+ if (StringUtils.isEmpty(protocolIds) && (protocols == null ||
protocols.isEmpty())) {
List<String> configedProtocols = new ArrayList<>();
configedProtocols.addAll(getSubProperties(Environment.getInstance()
.getExternalConfigurationMap(),
Constants.PROTOCOLS_SUFFIX));
configedProtocols.addAll(getSubProperties(Environment.getInstance()
.getAppExternalConfigurationMap(),
Constants.PROTOCOLS_SUFFIX));
- protocolLiteral = String.join(",", configedProtocols);
+ protocolIds = String.join(",", configedProtocols);
}
- if (StringUtils.isEmpty(protocolLiteral)) {
+ if (StringUtils.isEmpty(protocolIds)) {
if (protocols == null || protocols.isEmpty()) {
protocols = new ArrayList<>();
protocols.add(new ProtocolConfig());
}
} else {
- String[] arr =
Constants.COMMA_SPLIT_PATTERN.split(protocolLiteral);
+ String[] arr = Constants.COMMA_SPLIT_PATTERN.split(protocolIds);
if (protocols == null || protocols.isEmpty()) {
protocols = new ArrayList<>();
}
@@ -769,7 +769,7 @@ public class ServiceConfig<T> extends AbstractServiceConfig
{
}
});
if (protocols.size() > arr.length) {
- throw new IllegalStateException("Too much protocols found, the
protocols comply to this service are :" + protocolLiteral + " but got " +
protocols
+ throw new IllegalStateException("Too much protocols found, the
protocols comply to this service are :" + protocolIds + " but got " + protocols
.size() + " registries!");
}
}
@@ -859,12 +859,12 @@ public class ServiceConfig<T> extends
AbstractServiceConfig {
}
@Parameter(excluded = true)
- public String getProviderLiteral() {
- return providerLiteral;
+ public String getProviderIds() {
+ return providerIds;
}
- public void setProvider(String providerLiteral) {
- this.providerLiteral = providerLiteral;
+ public void setProviderIds(String providerIds) {
+ this.providerIds = providerIds;
}
public String getGeneric() {
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
index b1b360e..fd7025a 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ReferenceBean.java
@@ -142,12 +142,12 @@ public class ReferenceBean<T> extends ReferenceConfig<T>
implements FactoryBean,
}
}
- if (StringUtils.isEmpty(getRegistryLiteral())) {
- if (getApplication() != null &&
StringUtils.isNotEmpty(getApplication().getRegistryLiteral())) {
- setRegistry(getApplication().getRegistryLiteral());
+ if (StringUtils.isEmpty(getRegistryIds())) {
+ if (getApplication() != null &&
StringUtils.isNotEmpty(getApplication().getRegistryIds())) {
+ setRegistryIds(getApplication().getRegistryIds());
}
- if (getConsumer() != null &&
StringUtils.isNotEmpty(getConsumer().getRegistryLiteral())) {
- setRegistry(getConsumer().getRegistryLiteral());
+ if (getConsumer() != null &&
StringUtils.isNotEmpty(getConsumer().getRegistryIds())) {
+ setRegistryIds(getConsumer().getRegistryIds());
}
}
@@ -157,17 +157,17 @@ public class ReferenceBean<T> extends ReferenceConfig<T>
implements FactoryBean,
Map<String, RegistryConfig> registryConfigMap = applicationContext
== null ? null :
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext,
RegistryConfig.class, false, false);
if (registryConfigMap != null && registryConfigMap.size() > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<>();
- if (StringUtils.isNotEmpty(registryLiteral)) {
-
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(registryLiteral)).forEach(registryLiteral
-> {
- if (registryConfigMap.containsKey(registryLiteral)) {
-
registryConfigs.add(registryConfigMap.get(registryLiteral));
+ if (StringUtils.isNotEmpty(registryIds)) {
+
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(registryIds)).forEach(id -> {
+ if (registryConfigMap.containsKey(id)) {
+ registryConfigs.add(registryConfigMap.get(id));
}
});
}
if (registryConfigs.isEmpty()) {
for (RegistryConfig config : registryConfigMap.values()) {
- if (StringUtils.isEmpty(registryLiteral)) {
+ if (StringUtils.isEmpty(registryIds)) {
registryConfigs.add(config);
}
}
diff --git
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
index 6d83374..cb6d097 100644
---
a/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
+++
b/dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/ServiceBean.java
@@ -176,12 +176,12 @@ public class ServiceBean<T> extends ServiceConfig<T>
implements InitializingBean
}
}
- if (StringUtils.isEmpty(getRegistryLiteral())) {
- if (getApplication() != null &&
StringUtils.isNotEmpty(getApplication().getRegistryLiteral())) {
- setRegistry(getApplication().getRegistryLiteral());
+ if (StringUtils.isEmpty(getRegistryIds())) {
+ if (getApplication() != null &&
StringUtils.isNotEmpty(getApplication().getRegistryIds())) {
+ setRegistryIds(getApplication().getRegistryIds());
}
- if (getProvider() != null &&
StringUtils.isNotEmpty(getProvider().getRegistryLiteral())) {
- setRegistry(getProvider().getRegistryLiteral());
+ if (getProvider() != null &&
StringUtils.isNotEmpty(getProvider().getRegistryIds())) {
+ setRegistryIds(getProvider().getRegistryIds());
}
}
@@ -191,17 +191,17 @@ public class ServiceBean<T> extends ServiceConfig<T>
implements InitializingBean
Map<String, RegistryConfig> registryConfigMap = applicationContext
== null ? null :
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext,
RegistryConfig.class, false, false);
if (registryConfigMap != null && registryConfigMap.size() > 0) {
List<RegistryConfig> registryConfigs = new ArrayList<>();
- if (StringUtils.isNotEmpty(registryLiteral)) {
-
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(registryLiteral)).forEach(registryLiteral
-> {
- if (registryConfigMap.containsKey(registryLiteral)) {
-
registryConfigs.add(registryConfigMap.get(registryLiteral));
+ if (StringUtils.isNotEmpty(registryIds)) {
+
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(registryIds)).forEach(id -> {
+ if (registryConfigMap.containsKey(id)) {
+ registryConfigs.add(registryConfigMap.get(id));
}
});
}
if (registryConfigs.isEmpty()) {
for (RegistryConfig config : registryConfigMap.values()) {
- if (StringUtils.isEmpty(registryLiteral)) {
+ if (StringUtils.isEmpty(registryIds)) {
registryConfigs.add(config);
}
}
@@ -249,9 +249,9 @@ public class ServiceBean<T> extends ServiceConfig<T>
implements InitializingBean
}
}
- if (StringUtils.isEmpty(getProtocolLiteral())) {
- if (getProvider() != null &&
StringUtils.isNotEmpty(getProvider().getProtocolLiteral())) {
- setProtocol(getProvider().getProtocolLiteral());
+ if (StringUtils.isEmpty(getProtocolIds())) {
+ if (getProvider() != null &&
StringUtils.isNotEmpty(getProvider().getProtocolIds())) {
+ setProtocolIds(getProvider().getProtocolIds());
}
}
@@ -260,18 +260,18 @@ public class ServiceBean<T> extends ServiceConfig<T>
implements InitializingBean
Map<String, ProtocolConfig> protocolConfigMap = applicationContext
== null ? null :
BeanFactoryUtils.beansOfTypeIncludingAncestors(applicationContext,
ProtocolConfig.class, false, false);
if (protocolConfigMap != null && protocolConfigMap.size() > 0) {
List<ProtocolConfig> protocolConfigs = new
ArrayList<ProtocolConfig>();
- if (StringUtils.isNotEmpty(getProtocolLiteral())) {
-
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(getProtocolLiteral()))
- .forEach(protocolLiteral -> {
- if
(protocolConfigMap.containsKey(protocolLiteral)) {
-
protocolConfigs.add(protocolConfigMap.get(protocolLiteral));
+ if (StringUtils.isNotEmpty(getProtocolIds())) {
+
Arrays.stream(Constants.COMMA_SPLIT_PATTERN.split(getProtocolIds()))
+ .forEach(id -> {
+ if (protocolConfigMap.containsKey(id)) {
+
protocolConfigs.add(protocolConfigMap.get(id));
}
});
}
if (protocolConfigs.isEmpty()) {
for (ProtocolConfig config : protocolConfigMap.values()) {
- if (StringUtils.isEmpty(protocolLiteral)) {
+ if (StringUtils.isEmpty(protocolIds)) {
protocolConfigs.add(config);
}
}
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 bbb1017..3b59de3 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
@@ -49,6 +49,7 @@ import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.Date;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
import java.util.regex.Pattern;
@@ -166,7 +167,13 @@ public class DubboBeanDefinitionParser implements
BeanDefinitionParser {
registryConfig.setAddress(RegistryConfig.NO_AVAILABLE);
beanDefinition.getPropertyValues().addPropertyValue(beanProperty,
registryConfig);
} else if ("provider".equals(property) ||
"protocol".equals(property) || "registry".equals(property)) {
-
beanDefinition.getPropertyValues().addPropertyValue(beanProperty, value);
+ /**
+ * For 'provider' 'protocol' 'registry', keep
literal value (should be id/name) and set the value to 'registryIds'
'providerIds' protocolIds'
+ * The following process should make sure each
id refers to the corresponding instance, here's how to find the instance for
different use cases:
+ * 1. Spring, check existing bean by id,
see{@link ServiceBean#afterPropertiesSet()}; then try to use id to find configs
defined in remote Config Center
+ * 2. API, directly use id to find configs
defined in remote Config Center; if all config instances are defined locally,
please use {@link org.apache.dubbo.config.ServiceConfig#setRegistries(List)}
+ */
+
beanDefinition.getPropertyValues().addPropertyValue(beanProperty + "Ids",
value);
} else {
Object reference;
if (isPrimitive(type)) {
diff --git
a/dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
b/dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
index dc4bd42..8efa9fe 100644
---
a/dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
+++
b/dubbo-demo/dubbo-demo-consumer/src/main/resources/META-INF/spring/dubbo-demo-consumer.xml
@@ -25,11 +25,11 @@
<!-- use multicast registry center to discover service -->
- <dubbo:registry group="dubboregistrygroup1"
address="zookeeper://127.0.0.1:2181"/>
+ <dubbo:registry id="registry2" group="dubboregistrygroup1"
address="zookeeper://127.0.0.1:2181"/>
<!-- generate proxy for the remote service, then demoService can be used
in the same way as the
local regular interface -->
- <dubbo:reference id="demoService" check="false"
+ <dubbo:reference id="demoService" registry="registry2" check="false"
interface="org.apache.dubbo.demo.DemoService"
version="1.0.4" group="dd-test,dd-test1"/>
</beans>
diff --git
a/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
b/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
index 196f239..0df47d6 100644
---
a/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
+++
b/dubbo-demo/dubbo-demo-provider/src/main/resources/META-INF/spring/dubbo-demo-provider.xml
@@ -25,7 +25,7 @@
<dubbo:application name="demo-provider"/>
<!--<dubbo:provider tag="tag3"/>-->
- <dubbo:registry group="dubboregistrygroup1"
address="zookeeper://127.0.0.1:2181">
+ <dubbo:registry id="registry1" group="dubboregistrygroup1"
address="zookeeper://127.0.0.1:2181">
</dubbo:registry>
<!--<dubbo:configcenter
address="zookeeper://127.0.0.1:2181?backup=127.0.0.1:2182"
namespace="dubboregistrygroup1"-->
@@ -40,7 +40,7 @@
<bean id="demoService"
class="org.apache.dubbo.demo.provider.DemoServiceImpl"/>
<!-- declare the service interface to be exported -->
- <dubbo:service interface="org.apache.dubbo.demo.DemoService"
ref="demoService" version="1.0.4" group="dd-test"/>
+ <dubbo:service interface="org.apache.dubbo.demo.DemoService"
ref="demoService" version="1.0.4" group="dd-test" registry="registry1"/>
<!-- declare the service interface to be exported -->
<dubbo:service interface="org.apache.dubbo.demo.DemoService"
ref="demoService" version="1.0.4" group="dd-test1"/>