diff --git a/dubbo-config/src/main/java/com/alibaba/dubbo/config/ProtocolConfig.java b/dubbo-config/src/main/java/com/alibaba/dubbo/config/ProtocolConfig.java index 7c4d2a9f23..a62f389586 100644 --- a/dubbo-config/src/main/java/com/alibaba/dubbo/config/ProtocolConfig.java +++ b/dubbo-config/src/main/java/com/alibaba/dubbo/config/ProtocolConfig.java @@ -100,6 +100,9 @@ public class ProtocolConfig extends AbstractConfig { // status检查 private String status; + // 是否注册 + private Boolean register; + // 参数 private Map parameters; @@ -295,6 +298,14 @@ public class ProtocolConfig extends AbstractConfig { this.status = status; } + public Boolean getRegister() { + return register; + } + + public void setRegister(Boolean register) { + this.register = register; + } + public String getTransporter() { return transporter; } @@ -333,5 +344,5 @@ public class ProtocolConfig extends AbstractConfig { ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(protocol).destroy(); } } - + } \ No newline at end of file diff --git a/dubbo-config/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java b/dubbo-config/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java index 22c0c8581d..ae1c65b922 100644 --- a/dubbo-config/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java +++ b/dubbo-config/src/main/java/com/alibaba/dubbo/config/ServiceConfig.java @@ -67,6 +67,9 @@ public class ServiceConfig extends AbstractServiceConfig { // 服务名称 private String path; + + // 是否注册 + private Boolean register; // 方法配置 private List methods; @@ -432,7 +435,8 @@ public class ServiceConfig extends AbstractServiceConfig { if (logger.isInfoEnabled()) { logger.info("Export dubbo service " + interfaceClass.getName() + " to url " + url); } - if (registryURLs != null && registryURLs.size() > 0) { + if (registryURLs != null && registryURLs.size() > 0 + && url.getParameter("register", true)) { for (URL registryURL : registryURLs) { URL monitorUrl = loadMonitor(registryURL); if (monitorUrl != null) { @@ -529,6 +533,17 @@ public class ServiceConfig extends AbstractServiceConfig { this.path = path; } + public Boolean getRegister() { + return register; + } + + public void setRegister(Boolean register) { + this.register = register; + if (Boolean.FALSE.equals(register)) { + setRegistry(new RegistryConfig(RegistryConfig.NO_AVAILABLE)); + } + } + public List getMethods() { return methods; } diff --git a/dubbo-config/src/main/resources/com/alibaba/dubbo/config/spring/schema/dubbo.xsd b/dubbo-config/src/main/resources/com/alibaba/dubbo/config/spring/schema/dubbo.xsd index dbb69101d0..4a70ce4171 100644 --- a/dubbo-config/src/main/resources/com/alibaba/dubbo/config/spring/schema/dubbo.xsd +++ b/dubbo-config/src/main/resources/com/alibaba/dubbo/config/spring/schema/dubbo.xsd @@ -652,6 +652,11 @@ + + + + + @@ -874,6 +879,11 @@ + + + + +