[incubator-dubbo] branch dev-metadata updated: Demo changes.
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 4b68368 Demo changes. 4b68368 is described below commit 4b68368c6e21cc4585439642e1abed6e39090f48 Author: ken.lj AuthorDate: Mon Nov 5 15:55:39 2018 +0800 Demo changes. --- .../src/main/resources/META-INF/spring/dubbo-demo-consumer.xml | 3 +-- .../src/main/resources/META-INF/spring/dubbo-demo-provider.xml | 5 +++-- .../src/test/java/org/apache/dubbo/registry/ZKTools.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) 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 a8d25a8..4f2f7cc 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 @@ -24,8 +24,7 @@ - + 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 1ac3128..89d24b0 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,8 +25,9 @@ - + + + diff --git a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/ZKTools.java b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/ZKTools.java index 930a286..9425222 100644 --- a/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/ZKTools.java +++ b/dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/ZKTools.java @@ -52,7 +52,7 @@ public class ZKTools { } public static void testStartupConfig() { -String str = "dubbo.registry.address=zookeeper://127.0.0.1:2182\n" + +String str = "dubbo.registry.address=zookeeper://127.0.0.1:2181\n" + "dubbo.registry.group=dubboregistrygroup1\n" + "dubbo.servicestore.address=zookeeper://127.0.0.1:2181\n" + "dubbo.protocol.port=20990\n" + @@ -61,7 +61,7 @@ public class ZKTools { System.out.println(str); try { -String path = "/dubboregistrygroup1/config/demo-provider/dubbo.properties"; +String path = "/dubboregistrygroup1/config/dubbo/dubbo.properties"; if (client.checkExists().forPath(path) == null) { client.create().creatingParentsIfNeeded().forPath(path); }
[incubator-dubbo] branch 2.6.x updated: merge https://github.com/apache/incubator-dubbo/pull/2725 (#2734)
This is an automated email from the ASF dual-hosted git repository. iluo pushed a commit to branch 2.6.x in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git The following commit(s) were added to refs/heads/2.6.x by this push: new f2d73f7 merge https://github.com/apache/incubator-dubbo/pull/2725 (#2734) f2d73f7 is described below commit f2d73f7914c03cc95b884b69b3e660ee0a7ae033 Author: Ian Luo AuthorDate: Mon Nov 5 15:24:29 2018 +0800 merge https://github.com/apache/incubator-dubbo/pull/2725 (#2734) * merge https://github.com/apache/incubator-dubbo/pull/2725 * fix UT failure * remove useless test * fix unit test failures --- all/pom.xml| 10 +- dubbo-bootstrap/pom.xml| 45 - .../org/apache/dubbo/bootstrap/DubboBootstrap.java | 111 - .../com/alibaba/dubbo/config/ProtocolConfig.java | 11 +- dubbo-config/dubbo-config-spring/pom.xml | 7 +- .../dubbo/config/spring/AnnotationBean.java| 23 ++--- .../alibaba/dubbo/config/spring/ServiceBean.java | 36 +-- .../spring/extension/SpringExtensionFactory.java | 25 + .../spring/status/DataSourceStatusChecker.java | 10 +- .../config/spring/status/SpringStatusChecker.java | 10 +- .../dubbo/config/spring/util/BeanFactoryUtils.java | 58 +++ .../DubboApplicationContextInitializer.java| 39 .../initializer/DubboApplicationListener.java | 49 - .../src/main/resources/META-INF/web-fragment.xml | 22 .../initializer/DubboApplicationListenerTest.java | 61 --- .../spring/status/DataSourceStatusCheckerTest.java | 11 +- .../spring/status/SpringStatusCheckerTest.java | 13 ++- .../DubboApplicationContextInitializerTest.java| 87 dubbo-container/dubbo-container-spring/pom.xml | 7 +- .../dubbo/container/spring/SpringContainer.java| 6 +- pom.xml| 1 - 21 files changed, 142 insertions(+), 500 deletions(-) diff --git a/all/pom.xml b/all/pom.xml index 3988449..1de0578 100644 --- a/all/pom.xml +++ b/all/pom.xml @@ -321,13 +321,6 @@ com.alibaba -dubbo-bootstrap -${project.version} -compile -true - - -com.alibaba hessian-lite compile true @@ -424,7 +417,6 @@ com.alibaba:dubbo-serialization-fst com.alibaba:dubbo-serialization-kryo com.alibaba:dubbo-serialization-jdk - com.alibaba:dubbo-bootstrap @@ -588,4 +580,4 @@ - \ No newline at end of file + diff --git a/dubbo-bootstrap/pom.xml b/dubbo-bootstrap/pom.xml deleted file mode 100644 index ae6440a..000 --- a/dubbo-bootstrap/pom.xml +++ /dev/null @@ -1,45 +0,0 @@ - -http://maven.apache.org/POM/4.0.0; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> - -dubbo-parent -com.alibaba -2.6.5-SNAPSHOT - -4.0.0 - -dubbo-bootstrap - - - - -com.alibaba -dubbo-config-api -${project.parent.version} - - -com.alibaba -dubbo-common -${project.parent.version} - - -com.alibaba -dubbo-registry-api -${project.parent.version} - - - \ No newline at end of file diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java deleted file mode 100644 index 37ec8a3..000 --- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the
[incubator-dubbo-ops] branch develop updated: change hint to meet demo service
This is an automated email from the ASF dual-hosted git repository. min pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-ops.git The following commit(s) were added to refs/heads/develop by this push: new 15df728 change hint to meet demo service 15df728 is described below commit 15df72886a00e1a18edfd7ab508e2f5b1fe705b4 Author: nzomkxia AuthorDate: Mon Nov 5 14:04:00 2018 +0800 change hint to meet demo service --- dubbo-admin-frontend/src/components/ServiceSearch.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dubbo-admin-frontend/src/components/ServiceSearch.vue b/dubbo-admin-frontend/src/components/ServiceSearch.vue index eb5ff46..8c19c85 100644 --- a/dubbo-admin-frontend/src/components/ServiceSearch.vue +++ b/dubbo-admin-frontend/src/components/ServiceSearch.vue @@ -128,7 +128,7 @@ }, hint () { if (this.selected === 0) { - return 'Full qualified class name with service version, e.g. org.apache.dubbo.HelloService:1.0.0' + return 'Service ID, org.apache.dubbo.demo.api.DemoService' } else if (this.selected === 1) { return 'Find all services provided by the target server on the specified IP address' } else if (this.selected === 2) {
[incubator-dubbo] branch master updated: code format (#2730)
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 2284ede code format (#2730) 2284ede is described below commit 2284ede0f14fae6212fac54a2e04a12534446da7 Author: Wang jie <260072...@qq.com> AuthorDate: Mon Nov 5 13:53:45 2018 +0800 code format (#2730) * NullPointerException * code rule * code rule --- .../main/java/com/alibaba/dubbo/common/URL.java| 103 - .../alibaba/dubbo/common/status/StatusChecker.java | 1 + .../java/com/alibaba/dubbo/monitor/Monitor.java| 1 + .../java/com/alibaba/dubbo/registry/Registry.java | 1 + .../java/com/alibaba/dubbo/remoting/Channel.java | 2 + .../main/java/com/alibaba/dubbo/rpc/Exporter.java | 1 + .../main/java/com/alibaba/dubbo/rpc/Filter.java| 1 + .../java/com/alibaba/dubbo/rpc/Invocation.java | 2 + .../main/java/com/alibaba/dubbo/rpc/Invoker.java | 2 + .../com/alibaba/dubbo/rpc/cluster/Directory.java | 5 +- .../java/com/alibaba/dubbo/rpc/cluster/Router.java | 1 + .../ReferenceAnnotationBeanPostProcessor.java | 9 +- .../alibaba/dubbo/rpc/service/GenericService.java | 1 + .../java/org/apache/dubbo/rpc/AbstractResult.java | 1 + .../org/apache/dubbo/rpc/AsyncContextImpl.java | 1 + .../java/org/apache/dubbo/rpc/AsyncRpcResult.java | 1 + 16 files changed, 127 insertions(+), 6 deletions(-) diff --git a/dubbo-compatible/src/main/java/com/alibaba/dubbo/common/URL.java b/dubbo-compatible/src/main/java/com/alibaba/dubbo/common/URL.java index 3a6796a..76b09f4 100644 --- a/dubbo-compatible/src/main/java/com/alibaba/dubbo/common/URL.java +++ b/dubbo-compatible/src/main/java/com/alibaba/dubbo/common/URL.java @@ -79,71 +79,88 @@ public class URL extends org.apache.dubbo.common.URL { return org.apache.dubbo.common.URL.decode(value); } +@Override public String getProtocol() { return super.getProtocol(); } +@Override public URL setProtocol(String protocol) { return new URL(protocol, super.getUsername(), super.getPassword(), super.getHost(), super.getPort(), super.getPath(), super.getParameters()); } +@Override public String getUsername() { return super.getUsername(); } +@Override public URL setUsername(String username) { return new URL(super.getProtocol(), username, super.getPassword(), super.getHost(), super.getPort(), super.getPath(), super.getParameters()); } +@Override public String getPassword() { return super.getPassword(); } +@Override public URL setPassword(String password) { return new URL(super.getProtocol(), super.getUsername(), password, super.getHost(), super.getPort(), super.getPath(), super.getParameters()); } +@Override public String getAuthority() { return super.getAuthority(); } +@Override public String getHost() { return super.getHost(); } +@Override public URL setHost(String host) { return new URL(super.getProtocol(), super.getUsername(), super.getPassword(), host, super.getPort(), super.getPath(), super.getParameters()); } +@Override public String getIp() { return super.getIp(); } +@Override public int getPort() { return super.getPort(); } +@Override public URL setPort(int port) { return new URL(super.getProtocol(), super.getUsername(), super.getPassword(), super.getHost(), port, super.getPath(), super.getParameters()); } +@Override public int getPort(int defaultPort) { return super.getPort(); } +@Override public String getAddress() { return super.getAddress(); } +@Override public URL setAddress(String address) { org.apache.dubbo.common.URL result = super.setAddress(address); return new URL(result); } +@Override public String getBackupAddress() { return super.getBackupAddress(); } +@Override public String getBackupAddress(int defaultPort) { return super.getBackupAddress(defaultPort); } @@ -153,191 +170,238 @@ public class URL extends org.apache.dubbo.common.URL { //return res.stream().map(url -> new URL(url)).collect(Collectors.toList()); //} +@Override public String getPath() { return super.getPath(); } +@Override public URL setPath(String path) { return new URL(super.getProtocol(), super.getUsername(), super.getPassword(), super.getHost(), super.getPort(), path, super.getParameters()); } +@Override public String getAbsolutePath() { return super.getAbsolutePath(); } +@Override public
[incubator-dubbo] branch master updated: enhance comments (#2735)
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 505d155 enhance comments (#2735) 505d155 is described below commit 505d15576cc90de4ed4b9b767c86663ad12697a3 Author: Ian Luo AuthorDate: Mon Nov 5 13:47:23 2018 +0800 enhance comments (#2735) --- .../src/main/java/org/apache/dubbo/config/spring/ServiceBean.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 19dcef1..07031f2 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 @@ -233,7 +233,8 @@ public class ServiceBean extends ServiceConfig implements InitializingBean @Override public void destroy() throws Exception { -// no need to export here, see org.apache.dubbo.config.spring.extension.SpringExtensionFactory.ShutdownHookListener +// no need to call unexport() here, see +// org.apache.dubbo.config.spring.extension.SpringExtensionFactory.ShutdownHookListener } // merged from dubbox
[incubator-dubbo] branch dev-metadata updated: Add app level configuration file; Unified group and namespace in different configcenter implementation.
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 201d1f3 Add app level configuration file; Unified group and namespace in different configcenter implementation. 201d1f3 is described below commit 201d1f30111c19f7e31c2e3119ffed1863f68668 Author: ken.lj AuthorDate: Mon Nov 5 12:18:59 2018 +0800 Add app level configuration file; Unified group and namespace in different configcenter implementation. --- .../java/org/apache/dubbo/common/Constants.java| 4 +- .../org/apache/dubbo/config/AbstractConfig.java| 2 +- .../apache/dubbo/config/ConfigCenterConfig.java| 68 +- .../apache/dubbo/config/context/Environment.java | 15 + .../src/main/resources/META-INF/compat/dubbo.xsd | 4 +- .../src/main/resources/META-INF/dubbo.xsd | 4 +- .../META-INF/spring/dubbo-demo-consumer.xml| 6 +- .../META-INF/spring/dubbo-demo-provider.xml| 2 +- .../governance/AbstractDynamicConfiguration.java | 6 +- .../support/apollo/ApolloDynamicConfiguration.java | 13 ++--- .../archaius/ArchaiusDynamicConfiguration.java | 23 .../sources/ZooKeeperConfigurationSource.java | 5 +- .../java/org/apache/dubbo/registry/ZKTools.java| 4 +- 13 files changed, 105 insertions(+), 51 deletions(-) diff --git a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java index df67944..a4b64ca 100644 --- a/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java +++ b/dubbo-common/src/main/java/org/apache/dubbo/common/Constants.java @@ -63,10 +63,12 @@ public class Constants { public static final String CONFIG_ENV_KEY = "config.env"; public static final String CONFIG_CLUSTER_KEY = "config.cluster"; public static final String CONFIG_NAMESPACE_KEY = "config.namespace"; +public static final String CONFIG_GROUP_KEY = "config.group"; public static final String CONFIG_CHECK_KEY = "config.check"; -public static final String CONFIG_DATAID_KEY = "config.dataid"; +public static final String CONFIG_CONFIGFILE_KEY = "config.configfile"; public static final String CONFIG_PRIORITY_KEY = "config.priority"; public static final String CONFIG_TIMEOUT_KEY = "config.timeout"; +public static final String CONFIG_APPNAME_KEY = "config.appname"; public static final String DEFAULT_CATEGORY = PROVIDERS_CATEGORY; 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 68717cb..236e2ba 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 @@ -526,7 +526,7 @@ public abstract class AbstractConfig implements Serializable { try { Configuration configuration = ConfigConverter.toConfiguration(this); CompositeConfiguration compositeConfiguration = Environment.getInstance().getStartupCompositeConf(getPrefix(), getId()); -int index = 2; +int index = 3; if (!Environment.getInstance().isConfigCenterFirst()) { index = 1; } diff --git a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java index e24363a..d454caf 100644 --- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java +++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ConfigCenterConfig.java @@ -40,14 +40,15 @@ public class ConfigCenterConfig extends AbstractConfig { private String env; private String cluster; private String namespace = "dubbo"; -private String appnamespace; +private String group = "dubbo"; private String username; private String password; private Long timeout = 3000L; private Boolean priority = true; private Boolean check = true; -private String dataid = "dubbo.properties"; +private String appname; +private String configfile = "dubbo.properties"; // customized parameters private Map parameters; @@ -77,32 +78,38 @@ public class ConfigCenterConfig extends AbstractConfig { } public void init() throws Exception { -// give jvm properties the chance of overriding local configs. +// give jvm properties the chance to override local configs, e.g., -Ddubbo.configcenter.config.priority refresh(); URL url = toConfigUrl(); DynamicConfiguration
[incubator-dubbo] branch master updated: Merge pull request #2725, problems of graceful shutdown in 2.6.3 and some recommendation.
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 0d51bc4 Merge pull request #2725, problems of graceful shutdown in 2.6.3 and some recommendation. 0d51bc4 is described below commit 0d51bc4751583cc31e7b65c5a79e335fa76aae89 Author: Ian Luo AuthorDate: Mon Nov 5 10:49:10 2018 +0800 Merge pull request #2725, problems of graceful shutdown in 2.6.3 and some recommendation. --- dubbo-all/pom.xml | 8 -- dubbo-bom/pom.xml | 5 - dubbo-bootstrap/pom.xml| 47 - .../org/apache/dubbo/bootstrap/DubboBootstrap.java | 111 - .../org/apache/dubbo/config/ProtocolConfig.java| 11 +- dubbo-config/dubbo-config-spring/pom.xml | 7 +- .../apache/dubbo/config/spring/AnnotationBean.java | 23 ++--- .../apache/dubbo/config/spring/ServiceBean.java| 26 + .../spring/extension/SpringExtensionFactory.java | 19 .../DubboApplicationContextInitializer.java| 39 .../initializer/DubboApplicationListener.java | 49 - .../spring/initializer/DubboContextListener.java | 72 - .../dubbo/config/spring/util/BeanFactoryUtils.java | 27 + .../src/main/resources/META-INF/web-fragment.xml | 22 .../DubboApplicationContextInitializerTest.java| 88 .../initializer/DubboApplicationListenerTest.java | 59 --- dubbo-container/dubbo-container-spring/pom.xml | 7 +- .../dubbo/container/spring/SpringContainer.java| 6 +- dubbo-distribution/pom.xml | 5 - pom.xml| 1 - 20 files changed, 65 insertions(+), 567 deletions(-) diff --git a/dubbo-all/pom.xml b/dubbo-all/pom.xml index 8e8fa66..12d9ec9 100644 --- a/dubbo-all/pom.xml +++ b/dubbo-all/pom.xml @@ -327,13 +327,6 @@ org.apache.dubbo -dubbo-bootstrap -${project.version} -compile -true - - -org.apache.dubbo dubbo-compatible ${project.version} compile @@ -439,7 +432,6 @@ org.apache.dubbo:dubbo-serialization-kryo org.apache.dubbo:dubbo-serialization-jdk org.apache.dubbo:dubbo-serialization-protostuff - org.apache.dubbo:dubbo-bootstrap diff --git a/dubbo-bom/pom.xml b/dubbo-bom/pom.xml index 15c8ae8..dac2456 100644 --- a/dubbo-bom/pom.xml +++ b/dubbo-bom/pom.xml @@ -285,11 +285,6 @@ org.apache.dubbo -dubbo-bootstrap -${project.version} - - -org.apache.dubbo dubbo-compatible ${project.version} diff --git a/dubbo-bootstrap/pom.xml b/dubbo-bootstrap/pom.xml deleted file mode 100644 index a082550..000 --- a/dubbo-bootstrap/pom.xml +++ /dev/null @@ -1,47 +0,0 @@ - -http://maven.apache.org/POM/4.0.0; - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd;> - -dubbo-parent -org.apache.dubbo -2.7.0-SNAPSHOT - -4.0.0 - -dubbo-bootstrap - - - - -org.apache.dubbo -dubbo-config-api -${project.parent.version} - - -org.apache.dubbo -dubbo-common -${project.parent.version} - - -org.apache.dubbo -dubbo-registry-api -${project.parent.version} - - - \ No newline at end of file diff --git a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java b/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java deleted file mode 100644 index b896c0e..000 --- a/dubbo-bootstrap/src/main/java/org/apache/dubbo/bootstrap/DubboBootstrap.java +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by
[incubator-dubbo-website] branch asf-site updated: build
This is an automated email from the ASF dual-hosted git repository. iluo pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-website.git The following commit(s) were added to refs/heads/asf-site by this push: new 1a90a25 build 1a90a25 is described below commit 1a90a25c29e2654d972224b1d01168dea9bf8c41 Author: beiwei30 AuthorDate: Mon Nov 5 10:33:21 2018 +0800 build --- en-us/docs/user/demos/delay-publish.html | 18 -- en-us/docs/user/demos/delay-publish.json | 2 +- zh-cn/docs/user/demos/delay-publish.html | 20 +--- zh-cn/docs/user/demos/delay-publish.json | 2 +- 4 files changed, 27 insertions(+), 15 deletions(-) diff --git a/en-us/docs/user/demos/delay-publish.html b/en-us/docs/user/demos/delay-publish.html index dd3f04d..f796b32 100644 --- a/en-us/docs/user/demos/delay-publish.html +++ b/en-us/docs/user/demos/delay-publish.html @@ -13,15 +13,21 @@ 中If your service need time to warm up.such as:initialization cache,or another reference resources has to be http://ready.so;>ready.so you can use the delay feature for delay publish service. -Delay five second publish +If your services need time to warm up, such as: initialization cache or another reference resources has to be ready. You can use the delay feature to delay publishing services. We fine-tuned the service delay exposure logic in Dubbo 2.6.5, delaying the countdown of services that require delayed exposure until Spring initialization is complete. You won't be aware of this change while using Dubbo, so please be assured that use. +Prior to Dubbo-2.6.5 +Delay five second publish dubbo:service delay="5000" / -Delay until Spring initialization is complete before exposing the service +Delay until Spring initialization is complete before exposing the service dubbo:service delay="-1" / -The initialization deadlock problem of Spring 2.x -Trigger condition +Dubbo-2.6.5 and later +All services will be exposed after Spring initialization is complete, and you don't need to configure delay if you don't need to delay exposing the service. +Delay five second publish +dubbo:service delay="5000" / + +The initialization deadlock problem of Spring 2.x +Trigger condition The service has already published when Spring parse the dubbo:service / element,but the Spring is still initializing other beans.If there is a request coming in, and the service implementation class has a call to applicationContext.getBean () usage. @@ -34,7 +40,7 @@ This will cause the getBean thread to lock the singletonObjects first, then lock the beanDefinitionMap, and lock the singletonObjects again.The Spring initialization thread, the first lock beanDefinitionMap, then lock singletonObjects. Reverse lock thread deadlock, can not provide services, can not start. -Avoid ways +Avoid ways It is highly recommended not to call applicationContext.getBean() in the service implementation class, all using Spring's beans using IoC injection. If you really want to tune getBean(), you can put the configuration of Dubbo Spring final loading. diff --git a/en-us/docs/user/demos/delay-publish.json b/en-us/docs/user/demos/delay-publish.json index c821b35..a8e96c9 100644 --- a/en-us/docs/user/demos/delay-publish.json +++ b/en-us/docs/user/demos/delay-publish.json @@ -1,4 +1,4 @@ { "filename": "delay-publish.md", - "__html": "Delay publish service\nIf your service need time to warm up.such as:initialization cache,or another reference resources has to be http://ready.so\;>ready.so you can use the delay feature for delay publish service.\nDelay five second publish\ndubbo:service delay=\"5000\" / [...] + "__html": "Delay publish service\nIf your services need time to warm up, such as: initialization cache or another reference resources has to be ready. You can use the delay feature to delay publishing services. We fine-tuned the service delay exposure logic in Dubbo 2.6.5, delaying the countdown of services that require delayed exposure until Spring initialization is complete. You won't be aware of this change while using Dubbo, so please be assured that use.\nPrior [...] } \ No newline at end of file diff --git a/zh-cn/docs/user/demos/delay-publish.html b/zh-cn/docs/user/demos/delay-publish.html index 0630e98..adbe0e8 100644 --- a/zh-cn/docs/user/demos/delay-publish.html +++ b/zh-cn/docs/user/demos/delay-publish.html @@ -13,15 +13,21 @@ En如果你的服务需要预热时间,比如初始化缓存,等待相关资源就位等,可以使用 delay 进行延迟暴露。 -延迟 5 秒暴露服务 +如果你的服务需要预热时间,比如初始化缓存,等待相关资源就位等,可以使用 delay 进行延迟暴露。我们在 Dubbo 2.6.5 版本中对服务延迟暴露逻辑进行了细微的调整,将需要延迟暴露(delay 0)服务的倒计时动作推迟到了 Spring 初始化完成后进行。你在使用 Dubbo 的过程中,并不会感知到此变化,因此请放心使用。 +Dubbo-2.6.5 之前版本 +延迟到 Spring 初始化完成后,再暴露服务[1] +dubbo:service delay="-1" / + +延迟 5 秒暴露服务 dubbo:service delay="5000" / -延迟到 Spring 初始化完成后,再暴露服务 [1] -dubbo:service delay="-1" / +Dubbo-2.6.5 及以后版本 +所有服务都将在 Spring 初始化完成后进行暴露,如果你不需要延迟暴露服务,无需配置 delay。 +延迟 5 秒暴露服务
[incubator-dubbo-website] branch asf-site updated: Update docs about the delay exposure. (#176)
This is an automated email from the ASF dual-hosted git repository. iluo pushed a commit to branch asf-site in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-website.git The following commit(s) were added to refs/heads/asf-site by this push: new d9f17a9 Update docs about the delay exposure. (#176) d9f17a9 is described below commit d9f17a9018c8d4724f3e2aca673575de7e1ef953 Author: 田小波 AuthorDate: Mon Nov 5 10:30:55 2018 +0800 Update docs about the delay exposure. (#176) * Update docs about the delay exposure. * Beautify English docs. * Fine-tune Chinese docs. --- docs/en-us/user/demos/delay-publish.md | 23 +-- docs/zh-cn/user/demos/delay-publish.md | 30 +- 2 files changed, 38 insertions(+), 15 deletions(-) diff --git a/docs/en-us/user/demos/delay-publish.md b/docs/en-us/user/demos/delay-publish.md index 06c4261..4800774 100644 --- a/docs/en-us/user/demos/delay-publish.md +++ b/docs/en-us/user/demos/delay-publish.md @@ -1,21 +1,32 @@ # Delay publish service -If your service need time to warm up.such as:initialization cache,or another reference resources has to be ready.so you can use the delay feature for delay publish service. +If your services need time to warm up, such as: initialization cache or another reference resources has to be ready. You can use the delay feature to delay publishing services. We fine-tuned the service delay exposure logic in Dubbo 2.6.5, delaying the countdown of services that require delayed exposure until Spring initialization is complete. You won't be aware of this change while using Dubbo, so please be assured that use. -## Delay five second publish +## Prior to Dubbo-2.6.5 +### Delay five second publish ```xml ``` -## Delay until Spring initialization is complete before exposing the service +### Delay until Spring initialization is complete before exposing the service ```xml ``` -### The initialization deadlock problem of Spring 2.x +## Dubbo-2.6.5 and later - Trigger condition +All services will be exposed after Spring initialization is complete, and you don't need to configure delay if you don't need to delay exposing the service. + +### Delay five second publish + +```xml + +``` + +## The initialization deadlock problem of Spring 2.x + +### Trigger condition The service has already published when `Spring` parse the `` element,but the `Spring` is still initializing other beans.If there is a request coming in, and the service implementation class has a call to `applicationContext.getBean ()` usage. @@ -29,7 +40,7 @@ The service has already published when `Spring` parse the `` el This will cause the getBean thread to lock the singletonObjects first, then lock the beanDefinitionMap, and lock the singletonObjects again.The Spring initialization thread, the first lock beanDefinitionMap, then lock singletonObjects. Reverse lock thread deadlock, can not provide services, can not start. - Avoid ways +### Avoid ways 1. It is highly recommended not to call applicationContext.getBean() in the service implementation class, all using Spring's beans using IoC injection. 2. If you really want to tune getBean(), you can put the configuration of Dubbo Spring final loading. diff --git a/docs/zh-cn/user/demos/delay-publish.md b/docs/zh-cn/user/demos/delay-publish.md index 363bde5..37f7469 100644 --- a/docs/zh-cn/user/demos/delay-publish.md +++ b/docs/zh-cn/user/demos/delay-publish.md @@ -1,37 +1,49 @@ # 延迟暴露 -如果你的服务需要预热时间,比如初始化缓存,等待相关资源就位等,可以使用 delay 进行延迟暴露。 +如果你的服务需要预热时间,比如初始化缓存,等待相关资源就位等,可以使用 delay 进行延迟暴露。我们在 Dubbo 2.6.5 版本中对服务延迟暴露逻辑进行了细微的调整,将需要延迟暴露(delay > 0)服务的倒计时动作推迟到了 Spring 初始化完成后进行。你在使用 Dubbo 的过程中,并不会感知到此变化,因此请放心使用。 -## 延迟 5 秒暴露服务 +## Dubbo-2.6.5 之前版本 + +### 延迟到 Spring 初始化完成后,再暴露服务[^1] + +```xml + +``` + +### 延迟 5 秒暴露服务 ```xml ``` -## 延迟到 Spring 初始化完成后,再暴露服务 [^1] +## Dubbo-2.6.5 及以后版本 + +所有服务都将在 Spring 初始化完成后进行暴露,如果你不需要延迟暴露服务,无需配置 delay。 + + 延迟 5 秒暴露服务 ```xml - + ``` -### Spring 2.x 初始化死锁问题 +## Spring 2.x 初始化死锁问题 - 触发条件 +### 触发条件 在 Spring 解析到 `` 时,就已经向外暴露了服务,而 Spring 还在接着初始化其它 Bean。如果这时有请求进来,并且服务的实现类里有调用 `applicationContext.getBean()` 的用法。 1. 请求线程的 applicationContext.getBean() 调用,先同步 singletonObjects 判断 Bean 是否存在,不存在就同步 beanDefinitionMap 进行初始化,并再次同步 singletonObjects 写入 Bean 实例缓存。 - + ![deadlock](../sources/images/lock-get-bean.jpg) 2. 而 Spring 初始化线程,因不需要判断 Bean 的存在,直接同步 beanDefinitionMap 进行初始化,并同步 singletonObjects 写入 Bean 实例缓存。 ![/user-guide/images/lock-init-context.jpg](../sources/images/lock-init-context.jpg) - + 这样就导致 getBean 线程,先锁 singletonObjects,再锁 beanDefinitionMap,再次锁 singletonObjects。 而 Spring 初始化线程,先锁 beanDefinitionMap,再锁 singletonObjects。反向锁导致线程死锁,不能提供服务,启动不了。 - 规避办法 +### 规避办法 1. 强烈建议不要在服务的实现类中有 applicationContext.getBean() 的调用,全部采用 IoC 注入的方式使用 Spring的Bean。 2. 如果实在要调 getBean(),可以将 Dubbo 的配置放在 Spring 的最后加载。