This is an automated email from the ASF dual-hosted git repository. liujun pushed a commit to branch samples-for-2.7.0-SNAPSHOT in repository https://gitbox.apache.org/repos/asf/incubator-dubbo-samples.git
commit ad3d8f4f42e94c50746a38157d9c5f3024944cc6 Author: ken.lj <ken.lj...@gmail.com> AuthorDate: Mon Dec 24 15:10:10 2018 +0800 update samples for 2.7.0-SNAPSHOT --- .../dubbo-samples-chain-api}/pom.xml | 4 +- .../apache/dubbo/samples/governance/ZKTools.java | 32 +++---------- .../samples/governance/api/AmericanService.java | 0 .../dubbo/samples/governance/api/CatService.java | 0 .../samples/governance/api/ChineseService.java | 0 .../dubbo/samples/governance/api/DogService.java | 0 .../dubbo/samples/governance/api/LionService.java | 0 .../dubbo/samples/governance/api/TigerService.java | 0 .../dubbo-samples-chain-backend}/pom.xml | 6 +-- .../dubbo/samples/governance/BackendProvider.java | 0 .../samples/governance/impl/CatServiceImpl.java | 2 + .../samples/governance/impl/DogServiceImpl.java | 7 +++ .../samples/governance/impl/LionServiceImpl.java | 2 + .../samples/governance/impl/TigerServiceImpl.java | 2 + .../src/main/resources/log4j.properties | 0 .../main/resources/spring/dubbo-demo-provider.xml | 8 +--- .../dubbo-samples-chain-front}/pom.xml | 6 +-- .../dubbo/samples/governance/FrontendConsumer.java | 50 +++++++++++++-------- .../src/main/resources/log4j.properties | 0 .../main/resources/spring/dubbo-demo-consumer.xml | 4 +- .../dubbo-samples-chain-middle}/pom.xml | 6 +-- .../samples/governance/MiddleEndProvider.java | 0 .../governance/impl/AmericanServiceImpl.java | 0 .../governance/impl/ChineseServiceImpl.java | 0 .../src/main/resources/log4j.properties | 0 .../main/resources/spring/dubbo-demo-provider.xml | 8 +--- .../pom.xml | 10 ++--- .../samples/annotation/AnnotationConsumer.java | 5 ++- .../src/main/resources/config-center.properties} | 27 ++++++----- .../resources/spring/dubbo-consumer.properties | 7 +-- .../resources/spring/dubbo-provider.properties | 5 ++- .../consumer/AnnotationConsumer.java | 4 +- .../provider/AnnotationProvider.java | 4 +- .../spring/MyEnvironmentPostProcessor.java | 13 ++++-- .../dubbo-properties-in-configcenter.properties | 1 - .../resources/spring/dubbo-consumer.properties | 4 +- .../resources/spring/dubbo-provider.properties | 10 ++--- .../apache/dubbo/samples/configcenter/ZKTools.java | 28 +----------- .../META-INF/spring/configcenter-consumer.xml | 2 +- .../META-INF/spring/configcenter-provider.xml | 4 +- .../multi-protocols-config-center.properties} | 20 ++++----- .../dubbo/samples/configcenter/BasicProvider.java | 1 + .../apache/dubbo/samples/configcenter/ZKTools.java | 52 +++++++++++++++++++++- .../META-INF/spring/configcenter-consumer.xml | 4 +- .../META-INF/spring/configcenter-provider.xml | 6 ++- .../src/main/resources/config-center.properties} | 21 ++++----- .../apache/dubbo/samples/governance/ZKTools.java | 21 ++++++++- .../main/resources/spring/dubbo-demo-consumer.xml | 2 +- .../main/resources/spring/dubbo-demo-provider.xml | 2 +- .../apache/dubbo/samples/governance/ZKTools.java | 20 ++++++++- .../dubbo/samples/governance/BasicConsumer.java | 6 ++- dubbo-samples-mock/pom.xml | 7 +++ .../org/apache/dubbo/samples/mock}/ZKTools.java | 18 ++------ .../src/main/resources/spring/mock-consumer.xml | 3 +- .../src/main/resources/spring/mock-provider.xml | 2 - pom.xml | 2 +- 56 files changed, 252 insertions(+), 196 deletions(-) diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/pom.xml b/dubbo-samples-chain/dubbo-samples-chain-api/pom.xml similarity index 91% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/pom.xml rename to dubbo-samples-chain/dubbo-samples-chain-api/pom.xml index 8bfa596..f5e3164 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/pom.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-api/pom.xml @@ -22,13 +22,13 @@ 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"> <parent> - <artifactId>dubbo-samples-concurrency</artifactId> + <artifactId>dubbo-samples-chain</artifactId> <groupId>org.apache.dubbo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>dubbo-samples-concurrency-api</artifactId> + <artifactId>dubbo-samples-chain-api</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java similarity index 79% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java index 7a6f1ae..b91b56b 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java +++ b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java @@ -32,8 +32,7 @@ public class ZKTools { client = CuratorFrameworkFactory.newClient("127.0.0.1:2181", 60 * 1000, 60 * 1000, new ExponentialBackoffRetry(1000, 3)); client.start(); -// configuratorsApp(); - configuratorsAppConsumer(); + configuratorsApp(); System.in.read(); } @@ -43,24 +42,7 @@ public class ZKTools { } private static void configuratorsApp() { - - String str = "---\n" + "configVersion: v2.7\n" + "scope: application\n" + "key: concurrency-middle\n" + "enabled: true\n" + "configs:\n" + "- addresses: [\"0.0.0.0:20881\"]\n" + " side: provider\n" + " parameters:\n" + " timeout: 4000"; - - System.out.println(str); - - try { - String path = "/dubbo/config/concurrency-middle/configurators"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static void configuratorsAppConsumer() { - String str = "---\n" + "configVersion: v2.7\n" + "scope: application\n" + "key: concurrency-middle\n" + "enabled: true\n" + "configs:\n" + "- addresses: [\"0.0.0.0\"]\n" + " side: consumer\n" + " parameters:\n" + " timeout: 5000"; + String str = "---\n" + "configVersion: v2.7\n" + "scope: application\n" + "key: concurrency-middle\n" + "enabled: true\n" + "configs:\n" + "- addresses: [\"0.0.0.0\"]\n" + " side: consumer\n" + " parameters:\n" + " timeout: 5000\n" + "- addresses: [\"0.0.0.0:20881\"]\n" + " side: provider\n" + " parameters:\n" + " timeout: 4000"; System.out.println(str); @@ -75,13 +57,13 @@ public class ZKTools { } } - private void configuratorsService() { - String str = ""; + private void tags() { + String str = "---\n" + "force: false\n" + "runtime: true\n" + "enabled: true\n" + "priority: 1\n" + "key: governance-tagrouter-provider\n" + "tags:\n" + " - name: tag1\n" + " addresses: [\"30.5.121.131:20880\"]\n" + " - name: tag2\n" + " addresses: [\"30.5.121.131:20881\"]\n" + "..."; System.out.println(str); try { - String path = "/dubbo/config/governance-tagrouter-provider/configurators"; + String path = "/dubbo/config/governance-tagrouter-provider/tagrouters"; if (client.checkExists().forPath(path) == null) { client.create().creatingParentsIfNeeded().forPath(path); } @@ -91,10 +73,6 @@ public class ZKTools { } } - private void tags() { - - } - public static void generateAppevelRouter() { String str = "---\n" + "force: false\n" + "runtime: true\n" + "enabled: true\n" + "priority: 1\n" + "key: governance-tagrouter-provider\n" + "tags:\n" + " - name: tag1\n" + " addresses: [\"30.5.121.131:20880\"]\n" + " - name: tag2\n" + " addresses: [\"30.5.121.131:20881\"]\n" + "..."; diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/AmericanService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/AmericanService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/AmericanService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/AmericanService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/CatService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/CatService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/CatService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/CatService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/ChineseService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/ChineseService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/ChineseService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/ChineseService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/DogService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/DogService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/DogService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/DogService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/LionService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/LionService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/LionService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/LionService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/TigerService.java b/dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/TigerService.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-api/src/main/java/org/apache/dubbo/samples/governance/api/TigerService.java rename to dubbo-samples-chain/dubbo-samples-chain-api/src/main/java/org/apache/dubbo/samples/governance/api/TigerService.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/pom.xml b/dubbo-samples-chain/dubbo-samples-chain-backend/pom.xml similarity index 88% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-front/pom.xml rename to dubbo-samples-chain/dubbo-samples-chain-backend/pom.xml index 9d5b9f7..257b19c 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/pom.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/pom.xml @@ -22,13 +22,13 @@ 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"> <parent> - <artifactId>dubbo-samples-concurrency</artifactId> + <artifactId>dubbo-samples-chain</artifactId> <groupId>org.apache.dubbo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>dubbo-samples-concurrency-front</artifactId> + <artifactId>dubbo-samples-chain-backend</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> @@ -36,7 +36,7 @@ </dependency> <dependency> <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-samples-concurrency-api</artifactId> + <artifactId>dubbo-samples-chain-api</artifactId> <version>${project.version}</version> </dependency> </dependencies> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/BackendProvider.java b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/BackendProvider.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/BackendProvider.java rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/BackendProvider.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java similarity index 93% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java index 9e4aa57..561c3ce 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/CatServiceImpl.java @@ -29,11 +29,13 @@ public class CatServiceImpl implements CatService { @Override public String getName() { + System.out.println("I am a Cat!"); return "I am a Cat!"; } @Override public String cat() { + System.out.println("Meow Meow!"); return "Meow Meow!"; } } diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java similarity index 86% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java index 91c6ab2..0268c9c 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/DogServiceImpl.java @@ -34,11 +34,18 @@ public class DogServiceImpl implements DogService { } catch (InterruptedException e) { e.printStackTrace(); } + System.out.println("I am a Dog!"); return "I am a Dog!"; } @Override public String dog() { + try { + Thread.sleep(200); + } catch (InterruptedException e) { + e.printStackTrace(); + } + System.out.println("Woof Woof!"); return "Woof Woof!"; } } diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java similarity index 93% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java index a2046fa..d1294c1 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/LionServiceImpl.java @@ -29,11 +29,13 @@ public class LionServiceImpl implements LionService { @Override public String getName() { + System.out.println("I am a Lion!"); return "I am a Lion!"; } @Override public String lion() { + System.out.println("Lion Lion!"); return "Lion Lion!"; } } diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java similarity index 93% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java index 40b71cd..828f826 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/java/org/apache/dubbo/samples/governance/impl/TigerServiceImpl.java @@ -29,11 +29,13 @@ public class TigerServiceImpl implements TigerService { @Override public String getName() { + System.out.println("I am a Tiger!"); return "I am a Tiger!"; } @Override public String tiger() { + System.out.println("Tiger Tiger!"); return "Tiger Tiger!"; } } diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/resources/log4j.properties b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/log4j.properties similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/resources/log4j.properties rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/log4j.properties diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml similarity index 90% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/resources/spring/dubbo-demo-provider.xml rename to dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml index a91c98c..5a6c777 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/resources/spring/dubbo-demo-provider.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-backend/src/main/resources/spring/dubbo-demo-provider.xml @@ -26,14 +26,10 @@ <!-- optional provider's application name, used for tracing dependency relationship --> <dubbo:application name="concurrency-backend"/> - - <!-- optional --> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> + <dubbo:protocol port="-1"/> - <!--optional, use dubbo protocol to export service on port 20880 --> - <dubbo:protocol name="dubbo" port="-1"/> - - <dubbo:config-center enable="false" address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> <bean id="catService" class="org.apache.dubbo.samples.governance.impl.CatServiceImpl"/> <dubbo:service interface="org.apache.dubbo.samples.governance.api.CatService" ref="catService"/> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/pom.xml b/dubbo-samples-chain/dubbo-samples-chain-front/pom.xml similarity index 88% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/pom.xml rename to dubbo-samples-chain/dubbo-samples-chain-front/pom.xml index 58dd3c9..2007464 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/pom.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-front/pom.xml @@ -22,13 +22,13 @@ 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"> <parent> - <artifactId>dubbo-samples-concurrency</artifactId> + <artifactId>dubbo-samples-chain</artifactId> <groupId>org.apache.dubbo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>dubbo-samples-concurrency-middle</artifactId> + <artifactId>dubbo-samples-chain-front</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> @@ -36,7 +36,7 @@ </dependency> <dependency> <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-samples-concurrency-api</artifactId> + <artifactId>dubbo-samples-chain-api</artifactId> <version>${project.version}</version> </dependency> </dependencies> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java b/dubbo-samples-chain/dubbo-samples-chain-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java similarity index 70% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java rename to dubbo-samples-chain/dubbo-samples-chain-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java index fb614d2..6aa54f6 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java +++ b/dubbo-samples-chain/dubbo-samples-chain-front/src/main/java/org/apache/dubbo/samples/governance/FrontendConsumer.java @@ -19,6 +19,8 @@ package org.apache.dubbo.samples.governance; +import org.apache.dubbo.common.Constants; +import org.apache.dubbo.rpc.RpcContext; import org.apache.dubbo.samples.governance.api.AmericanService; import org.apache.dubbo.samples.governance.api.CatService; import org.apache.dubbo.samples.governance.api.ChineseService; @@ -35,24 +37,19 @@ public class FrontendConsumer { private static ExecutorService executorService = Executors.newFixedThreadPool(3); - private static long interval = 5000; + private static long interval = 200; public static void main(String[] args) { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"spring/dubbo-demo-consumer.xml"}); context.start(); - while (true) { - try { + // cat(context); - dog(context); + dog(context); // tiger(context); // lion(context); - chinese(context); - american(context); - } catch (Throwable throwable) { - throwable.printStackTrace(); - } - } +// chinese(context); +// american(context); } @@ -69,9 +66,14 @@ public class FrontendConsumer { public static void dog(ClassPathXmlApplicationContext context) { executorService.submit(() -> { while (true) { - DogService dogService = (DogService) context.getBean("dogService"); - System.out.println(dogService.dog()); - Thread.sleep(interval); + try { + RpcContext.getContext().setAttachment(Constants.TAG_KEY, "tag1"); + DogService dogService = (DogService) context.getBean("dogService"); + System.out.println(dogService.dog()); + Thread.sleep(interval); + } catch (Exception e) { + e.printStackTrace(); + } } }); } @@ -99,9 +101,14 @@ public class FrontendConsumer { public static void chinese(ClassPathXmlApplicationContext context) { executorService.submit(() -> { while (true) { - ChineseService chineseService = (ChineseService) context.getBean("chineseService"); - System.out.println(chineseService.eat()); - Thread.sleep(interval); + try { + RpcContext.getContext().setAttachment(Constants.TAG_KEY, "tag1"); + ChineseService chineseService = (ChineseService) context.getBean("chineseService"); + System.out.println(chineseService.eat()); + Thread.sleep(interval); + } catch (Exception e) { + e.printStackTrace(); + } } }); } @@ -109,9 +116,14 @@ public class FrontendConsumer { public static void american(ClassPathXmlApplicationContext context) { executorService.submit(() -> { while (true) { - AmericanService americanService = (AmericanService) context.getBean("americanService"); - System.out.println(americanService.eat()); - Thread.sleep(interval); + try { + RpcContext.getContext().setAttachment(Constants.TAG_KEY, "tag1"); + AmericanService americanService = (AmericanService) context.getBean("americanService"); + System.out.println(americanService.eat()); + Thread.sleep(interval); + } catch (Exception e) { + e.printStackTrace(); + } } }); } diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/resources/log4j.properties b/dubbo-samples-chain/dubbo-samples-chain-front/src/main/resources/log4j.properties similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/resources/log4j.properties rename to dubbo-samples-chain/dubbo-samples-chain-front/src/main/resources/log4j.properties diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/resources/spring/dubbo-demo-consumer.xml b/dubbo-samples-chain/dubbo-samples-chain-front/src/main/resources/spring/dubbo-demo-consumer.xml similarity index 93% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/resources/spring/dubbo-demo-consumer.xml rename to dubbo-samples-chain/dubbo-samples-chain-front/src/main/resources/spring/dubbo-demo-consumer.xml index fdcecdb..333c3e3 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-front/src/main/resources/spring/dubbo-demo-consumer.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-front/src/main/resources/spring/dubbo-demo-consumer.xml @@ -27,11 +27,9 @@ <!-- optional, consumer's application name, used for tracing dependency relationship (not a matching criterion), don't set it same as provider --> <dubbo:application name="concurrency-front"/> - - <!-- optional, use multicast registry center to discover service --> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> - <dubbo:config-center enable="false" address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center 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 --> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/pom.xml b/dubbo-samples-chain/dubbo-samples-chain-middle/pom.xml similarity index 88% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/pom.xml rename to dubbo-samples-chain/dubbo-samples-chain-middle/pom.xml index 2f3a749..b0b0ff7 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/pom.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-middle/pom.xml @@ -22,13 +22,13 @@ 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"> <parent> - <artifactId>dubbo-samples-concurrency</artifactId> + <artifactId>dubbo-samples-chain</artifactId> <groupId>org.apache.dubbo</groupId> <version>1.0-SNAPSHOT</version> </parent> <modelVersion>4.0.0</modelVersion> - <artifactId>dubbo-samples-concurrency-backend</artifactId> + <artifactId>dubbo-samples-chain-middle</artifactId> <dependencies> <dependency> <groupId>org.springframework</groupId> @@ -36,7 +36,7 @@ </dependency> <dependency> <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-samples-concurrency-api</artifactId> + <artifactId>dubbo-samples-chain-api</artifactId> <version>${project.version}</version> </dependency> </dependencies> diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/MiddleEndProvider.java b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/MiddleEndProvider.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/MiddleEndProvider.java rename to dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/MiddleEndProvider.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/impl/AmericanServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/impl/AmericanServiceImpl.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/impl/AmericanServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/impl/AmericanServiceImpl.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/impl/ChineseServiceImpl.java b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/impl/ChineseServiceImpl.java similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/java/org/apache/dubbo/samples/governance/impl/ChineseServiceImpl.java rename to dubbo-samples-chain/dubbo-samples-chain-middle/src/main/java/org/apache/dubbo/samples/governance/impl/ChineseServiceImpl.java diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/resources/log4j.properties b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/log4j.properties similarity index 100% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-backend/src/main/resources/log4j.properties rename to dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/log4j.properties diff --git a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml similarity index 92% rename from dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/resources/spring/dubbo-demo-provider.xml rename to dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml index 135405b..b760308 100644 --- a/dubbo-samples-concurrency/dubbo-samples-concurrency-middle/src/main/resources/spring/dubbo-demo-provider.xml +++ b/dubbo-samples-chain/dubbo-samples-chain-middle/src/main/resources/spring/dubbo-demo-provider.xml @@ -28,14 +28,10 @@ <!-- optional provider's application name, used for tracing dependency relationship --> <dubbo:application name="concurrency-middle"/> - - <!-- optional --> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> + <dubbo:protocol port="-1"/> - <!--optional, use dubbo protocol to export service on port 20880 --> - <dubbo:protocol name="dubbo" port="-1"/> - - <dubbo:config-center enable="false" address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center 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 --> diff --git a/dubbo-samples-concurrency/pom.xml b/dubbo-samples-chain/pom.xml similarity index 86% rename from dubbo-samples-concurrency/pom.xml rename to dubbo-samples-chain/pom.xml index d735351..bf081b3 100644 --- a/dubbo-samples-concurrency/pom.xml +++ b/dubbo-samples-chain/pom.xml @@ -28,13 +28,13 @@ </parent> <modelVersion>4.0.0</modelVersion> <packaging>pom</packaging> - <artifactId>dubbo-samples-concurrency</artifactId> + <artifactId>dubbo-samples-chain</artifactId> <modules> - <module>dubbo-samples-concurrency-api</module> - <module>dubbo-samples-concurrency-front</module> - <module>dubbo-samples-concurrency-middle</module> - <module>dubbo-samples-concurrency-backend</module> + <module>dubbo-samples-chain-api</module> + <module>dubbo-samples-chain-front</module> + <module>dubbo-samples-chain-middle</module> + <module>dubbo-samples-chain-backend</module> </modules> <dependencies> diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/java/org/apache/dubbo/samples/annotation/AnnotationConsumer.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/java/org/apache/dubbo/samples/annotation/AnnotationConsumer.java index ff80068..0f99d52 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/java/org/apache/dubbo/samples/annotation/AnnotationConsumer.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/java/org/apache/dubbo/samples/annotation/AnnotationConsumer.java @@ -21,6 +21,7 @@ package org.apache.dubbo.samples.annotation; import org.apache.dubbo.config.spring.context.annotation.EnableDubbo; import org.apache.dubbo.samples.annotation.action.AnnotationAction; + import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; @@ -37,11 +38,11 @@ public class AnnotationConsumer { final AnnotationAction annotationAction = (AnnotationAction) context.getBean("annotationAction"); String hello = annotationAction.doSayHello("world"); System.out.println("result :" + hello); - System.in.read(); + Thread.sleep(10000000); } @Configuration - @EnableDubbo(scanBasePackages = "org.apache.dubbo.samples.annotation.action") + @EnableDubbo(scanBasePackages = "org.apache.dubbo.samples.annotation.action", multipleConfig = true) @PropertySource("classpath:/spring/dubbo-consumer.properties") @ComponentScan(value = {"org.apache.dubbo.samples.annotation.action"}) static public class ConsumerConfiguration { diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/config-center.properties similarity index 56% copy from dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties copy to dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/config-center.properties index 180ca9f..62a16a1 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/config-center.properties @@ -1,24 +1,29 @@ -# -# # 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 License. -# -# -dubbo.application.name=configcenter-annotation-demo -dubbo.configcenter.address=zookeeper://127.0.0.1:2181 +# Add the following global external properties to `/dubbo/config/dubbo/dubbo.properties` dubbo.registry.address=zookeeper://127.0.0.1:2181 -dubbo.protocol.name=dubbo -dubbo.protocol.port=20880 -dubbo.consumer.timeout=3000 \ No newline at end of file +#global config for consumer +dubbo.consumer.loadbalance=random +#global config for provider +dubbo.protocol.port=20990 +dubbo.provider.timeout=5000 +dubbo.registryData.simpleConsumerConfig=true +# Optional. Add the following application(Provider) specific external properties +# to `/dubbo/config/configcenter-annotation-provider/dubbo.properties` +dubbo.protocol.threadpool=fixed +dubbo.protocol.threads=100 +# Optional. Add the following application(Consumer) specific external properties +# to `/dubbo/config/configcenter-annotation-consumer/dubbo.properties` +dubbo.consumer.timeout=6666 diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-consumer.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-consumer.properties index fa5da7e..61b3eed 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-consumer.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-consumer.properties @@ -16,9 +16,10 @@ # limitations under the License. # # -dubbo.application.name=configcenter-annotation-provider -dubbo.config-center.address=zookeeper://127.0.0.1:2181 -dubbo.config-center.configfile=dubbo.properties +dubbo.applications.configcenter-annotation-provider.name=configcenter-annotation-provider +dubbo.configCenters.zookeeper.address=zookeeper://127.0.0.1:2181 +dubbo.configCenters.zookeeper.configfile=dubbo.properties +dubbo.configCenters.zookeeper.highestPriority=true # The common part, for example registry, protocol can be stored under the global group in ConfigCenter #dubbo.registry.address=zookeeper://127.0.0.1:2181 # The application specific part, can be stored under the app group in the ConfigCenter diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-provider.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-provider.properties index bb7d957..5d47905 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-provider.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-annotation/src/main/resources/spring/dubbo-provider.properties @@ -17,8 +17,9 @@ # # dubbo.application.name=configcenter-annotation-provider -dubbo.config-center.address=zookeeper://127.0.0.1:2181 -dubbo.config-center.configfile=dubbo.properties +dubbo.configCenter.address=zookeeper://127.0.0.1:2181 +dubbo.configCenter.configFile=dubbo.properties +dubbo.configCenter.highestPriority=true # The common part, for example registry, protocol can be stored under the global group in ConfigCenter # The application specific part, can be stored under the app group in the ConfigCenter #dubbo.registry.address=zookeeper://127.0.0.1:2181 diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/consumer/AnnotationConsumer.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/consumer/AnnotationConsumer.java index ae5a7ee..4c80a62 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/consumer/AnnotationConsumer.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/consumer/AnnotationConsumer.java @@ -57,8 +57,8 @@ public class AnnotationConsumer { ConfigCenterBean configCenterBean = new ConfigCenterBean(); // This is a critical switch to tell Dubbo framework to get configs from standard Spring Environment configCenterBean.setFromSpring(true); - configCenterBean.setConfigfile("dubbo.properties");// by default is dubbo.properties - configCenterBean.setLocalconfigfile("configcenter-annotation-provider.dubbo.properties"); // by default is application.dubbo.properties + configCenterBean.setConfigFile("dubbo.properties");// by default is dubbo.properties + configCenterBean.setAppConfigFile("configcenter-annotation-provider.dubbo.properties"); // by default is application.dubbo.properties return configCenterBean; } diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/provider/AnnotationProvider.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/provider/AnnotationProvider.java index 2ad582b..fd0ca76 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/provider/AnnotationProvider.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/provider/AnnotationProvider.java @@ -57,8 +57,8 @@ public class AnnotationProvider { ConfigCenterBean configCenterBean = new ConfigCenterBean(); // This is a critical switch to tell Dubbo framework to get configs from standard Spring Environment configCenterBean.setFromSpring(true); - configCenterBean.setConfigfile("dubbo.properties");// by default is dubbo.properties - configCenterBean.setLocalconfigfile("configcenter-annotation-provider.dubbo.properties"); // by default is application.dubbo.properties + configCenterBean.setConfigFile("dubbo.properties");// by default is dubbo.properties + configCenterBean.setAppConfigFile("configcenter-annotation-provider.dubbo.properties"); // by default is application.dubbo.properties return configCenterBean; } diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/spring/MyEnvironmentPostProcessor.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/spring/MyEnvironmentPostProcessor.java index 173afce..7ab7257 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/spring/MyEnvironmentPostProcessor.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/java/org/apache/dubbo/samples/externalconfiguration/spring/MyEnvironmentPostProcessor.java @@ -46,14 +46,19 @@ public class MyEnvironmentPostProcessor implements EnvironmentPostProcessor { environment.getPropertySources().addLast(dubboPropertySource); Map<String, Object> appDubboProperties = new HashMap<>(); - BufferedReader appReader = new BufferedReader(new InputStreamReader(MyEnvironmentPostProcessor.class.getResourceAsStream("/yourconfigcenter/dubbo-properties-in-configcenter-provider.properties"))); + BufferedReader appReader; String appName = application.getMainApplicationClass().getSimpleName(); if (appName.contains("consumer")) { appReader = new BufferedReader(new InputStreamReader(MyEnvironmentPostProcessor.class.getResourceAsStream("/yourconfigcenter/dubbo-properties-in-configcenter-consumer.properties"))); + appDubboProperties.put("configcenter-annotation-consumer.dubbo.properties", appReader.lines().collect(Collectors.joining("\n"))); + MapPropertySource appDubboPropertySource = new MapPropertySource("configcenter-annotation-consumer.dubbo.properties", appDubboProperties); + environment.getPropertySources().addLast(appDubboPropertySource); + } else { + appReader = new BufferedReader(new InputStreamReader(MyEnvironmentPostProcessor.class.getResourceAsStream("/yourconfigcenter/dubbo-properties-in-configcenter-provider.properties"))); + appDubboProperties.put("configcenter-annotation-provider.dubbo.properties", appReader.lines().collect(Collectors.joining("\n"))); + MapPropertySource appDubboPropertySource = new MapPropertySource("configcenter-annotation-provider.dubbo.properties", appDubboProperties); + environment.getPropertySources().addLast(appDubboPropertySource); } - appDubboProperties.put("application.dubbo.properties", appReader.lines().collect(Collectors.joining("\n"))); - MapPropertySource appDubboPropertySource = new MapPropertySource("configcenter-annotation-provider.dubbo.properties", appDubboProperties); - environment.getPropertySources().addLast(appDubboPropertySource); } catch (Exception e) { e.printStackTrace(); } diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties index 180ca9f..eee0ec6 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties @@ -16,7 +16,6 @@ # limitations under the License. # # -dubbo.application.name=configcenter-annotation-demo dubbo.configcenter.address=zookeeper://127.0.0.1:2181 dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.protocol.name=dubbo diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties index fa5da7e..c474256 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-consumer.properties @@ -17,8 +17,8 @@ # # dubbo.application.name=configcenter-annotation-provider -dubbo.config-center.address=zookeeper://127.0.0.1:2181 -dubbo.config-center.configfile=dubbo.properties +dubbo.configCenter.address=zookeeper://127.0.0.1:2181 +dubbo.configCenter.configFile=dubbo.properties # The common part, for example registry, protocol can be stored under the global group in ConfigCenter #dubbo.registry.address=zookeeper://127.0.0.1:2181 # The application specific part, can be stored under the app group in the ConfigCenter diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties index bb7d957..333e3fb 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multi-registries/src/main/resources/spring/dubbo-provider.properties @@ -17,10 +17,6 @@ # # dubbo.application.name=configcenter-annotation-provider -dubbo.config-center.address=zookeeper://127.0.0.1:2181 -dubbo.config-center.configfile=dubbo.properties -# The common part, for example registry, protocol can be stored under the global group in ConfigCenter -# The application specific part, can be stored under the app group in the ConfigCenter -#dubbo.registry.address=zookeeper://127.0.0.1:2181 -#dubbo.protocol.name=dubbo -#dubbo.protocol.port=20880 \ No newline at end of file +dubbo.configCenter.address=zookeeper://127.0.0.1:2181 +dubbo.configCenter.configfile=dubbo.properties +dubbo.registries.registry1.address=xxx \ No newline at end of file diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java index 4cf3931..5bed08f 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java @@ -32,35 +32,11 @@ public class ZKTools { client = CuratorFrameworkFactory.newClient("127.0.0.1:2181", 60 * 1000, 60 * 1000, new ExponentialBackoffRetry(1000, 3)); client.start(); -// -// generateDubboPropertiesForGlobal(); -// generateDubboPropertiesForApp(); - System.in.read(); + generateDubboPropertiesForGlobal(); } public static void generateDubboPropertiesForGlobal() { - String str = "dubbo.registry.address=zookeeper://127.0.0.1:2181"; - -// String str = "dubbo.registry.address=zookeeper://127.0.0.1:2183\n" + -// "dubbo.registries.registry1.address=zookeeper://127.0.0.1:2181\n" + -// "dubbo.registries.registry2.address=zookeeper://127.0.0.1:2181\n"; - - System.out.println(str); - - try { - String path = "/dubbo/config/dubbo/dubbo.properties"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void generateDubboPropertiesForApp() { - String str = "#key: dubbo.{item-name}.{id}.{property}\n" + "dubbo.protocols.dubbo1.name=dubbo\n" + "dubbo.protocols.dubbo1.port=20991\n" + - "\n" + "dubbo.protocols.hessian1.name=hessian\n" + "dubbo.protocols.hessian1.port=8089"; + String str = "#key: dubbo.{item-name}.{id}.{property}\n" + "dubbo.registry.address=zookeeper://127.0.0.1:2181\n" + "dubbo.protocols.dubbo1.name=dubbo\n" + "dubbo.protocols.dubbo1.port=20991\n" + "dubbo.protocols.hessian1.name=hessian\n" + "dubbo.protocols.hessian1.port=8089"; System.out.println(str); diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-consumer.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-consumer.xml index 0c56766..e330a49 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-consumer.xml +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-consumer.xml @@ -26,7 +26,7 @@ <dubbo:application name="configcenter-multiprotocol-consumer"/> - <dubbo:config-center address="zookeeper://127.0.0.1:2181" configfile="dubbo.properties"/> + <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> <dubbo:reference id="demoService" protocol="hessian" interface="org.apache.dubbo.samples.configcenter.api.DemoService"/> diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-provider.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-provider.xml index 163acc0..a6e1284 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-provider.xml +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/META-INF/spring/configcenter-provider.xml @@ -28,10 +28,8 @@ <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> - <dubbo:provider protocol="hessian1"/> - <bean id="demoService" class="org.apache.dubbo.samples.configcenter.impl.DemoServiceImpl"/> - <dubbo:service interface="org.apache.dubbo.samples.configcenter.api.DemoService" + <dubbo:service protocol="hessian1" interface="org.apache.dubbo.samples.configcenter.api.DemoService" ref="demoService"/> <dubbo:service protocol="dubbo1" interface="org.apache.dubbo.samples.configcenter.api.DemoService" ref="demoService"/> diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/multi-protocols-config-center.properties similarity index 75% copy from dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties copy to dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/multi-protocols-config-center.properties index 180ca9f..0087bbe 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-multiprotocol/src/main/resources/multi-protocols-config-center.properties @@ -1,24 +1,22 @@ -# -# # 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 License. -# -# -dubbo.application.name=configcenter-annotation-demo -dubbo.configcenter.address=zookeeper://127.0.0.1:2181 +# Add the following global external properties to `/dubbo/config/dubbo/dubbo.properties` +#key: dubbo.{item-name}.{id}.{property} dubbo.registry.address=zookeeper://127.0.0.1:2181 -dubbo.protocol.name=dubbo -dubbo.protocol.port=20880 -dubbo.consumer.timeout=3000 \ No newline at end of file +dubbo.protocols.dubbo1.name=dubbo +dubbo.protocols.dubbo1.port=20991 +dubbo.protocols.hessian1.name=hessian +dubbo.protocols.hessian1.port=8089 + diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/BasicProvider.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/BasicProvider.java index ccc6002..8172dce 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/BasicProvider.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/BasicProvider.java @@ -26,6 +26,7 @@ public class BasicProvider { public static void main(String[] args) throws Exception { // new EmbeddedZooKeeper(2181, false).start(); ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"META-INF/spring/configcenter-provider.xml"}); + context.registerShutdownHook(); context.start(); System.in.read(); // press any key to exit diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java index 93f3199..cfa3bca 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/java/org/apache/dubbo/samples/configcenter/ZKTools.java @@ -21,6 +21,7 @@ import org.apache.dubbo.common.utils.StringUtils; import org.apache.curator.framework.CuratorFramework; import org.apache.curator.framework.CuratorFrameworkFactory; import org.apache.curator.retry.ExponentialBackoffRetry; +import org.apache.zookeeper.data.Stat; /** * @@ -39,7 +40,7 @@ public class ZKTools { } public static void generateDubboPropertiesForGlobal() { - String str = ""; + String str = "dubbo.registry.address=zookeeper://127.0.0.1:2181\n" + "dubbo.metadataReport.address=zookeeper://127.0.0.1:2181\n" + "dubbo.protocol.port=-1\n" + "dubbo.registryData.simpleProviderConfig=true\n" + "dubbo.registryData.simpleConsumerConfig=true\n"; System.out.println(str); @@ -72,6 +73,14 @@ public class ZKTools { } } + private static void createNode(String path) throws Exception { + client.create().forPath(path); + } + + private static void deleteNode(String path) throws Exception { + client.delete().forPath(path); + } + private static void setData(String path, String data) throws Exception { client.setData().forPath(path, data.getBytes()); } @@ -83,4 +92,45 @@ public class ZKTools { return path.replace("/dubbo/config/", "").replaceAll("/", "."); } + public static void quickOnlineOfline() { + String providerUrl = "dubbo%3A%2F%2F30.5.120.251%3A20880%2Forg.apache.dubbo.samples.configcenter.api.DemoService%3Fapplication%3Dconfigcenter-provider%26dubbo%3D2.0.2%26group%3Dtest2%26specVersion%3D2.7.0-SNAPSHOT%26timestamp%3D1545282828049"; + + new Thread() { + @Override + public void run() { + try { + while (true) { + createNode("/dubbo/org.apache.dubbo.samples.configcenter.api.DemoService/providers/" + providerUrl); + Stat stat = client.checkExists().forPath("/dubbo/org.apache.dubbo.samples.configcenter.api.DemoService/providers/" + providerUrl); + if (stat != null) { + deleteNode("/dubbo/org.apache.dubbo.samples.configcenter.api.DemoService/providers/" + providerUrl); + } + Thread.sleep(20); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + }.start(); + + new Thread() { + @Override + public void run() { + while (true) { + try { + Thread.sleep(100); + Stat stat = client.checkExists().forPath("/dubbo/org.apache.dubbo.samples.configcenter.api.DemoService/providers/" + providerUrl); + if (stat != null) { + deleteNode("/dubbo/org.apache.dubbo.samples.configcenter.api.DemoService/providers/" + providerUrl); + } + Thread.sleep(10); + } catch (Exception e) { + e.printStackTrace(); + } + } + } + }.start(); + + } + } diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-consumer.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-consumer.xml index d5331fb..755e58c 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-consumer.xml +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-consumer.xml @@ -27,8 +27,8 @@ <!-- optional --> <dubbo:application name="configcenter-consumer"/> - <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center highest-priority="false" address="zookeeper://127.0.0.1:2181"/> - <dubbo:reference id="demoService" interface="org.apache.dubbo.samples.configcenter.api.DemoService"/> + <dubbo:reference group="*" id="demoService" interface="org.apache.dubbo.samples.configcenter.api.DemoService"/> </beans> \ No newline at end of file diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-provider.xml b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-provider.xml index 669f90d..b29e040 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-provider.xml +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/META-INF/spring/configcenter-provider.xml @@ -27,9 +27,11 @@ <!-- optional --> <dubbo:application name="configcenter-provider"/> + <!--<dubbo:registry address="zookeeper://127.0.0.1:2181"/>--> + <!--<dubbo:protocol port="-1"/>--> + <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> <bean id="demoService" class="org.apache.dubbo.samples.configcenter.impl.DemoServiceImpl"/> - <dubbo:service interface="org.apache.dubbo.samples.configcenter.api.DemoService" ref="demoService"/> - + <dubbo:service group="test2" interface="org.apache.dubbo.samples.configcenter.api.DemoService" ref="demoService"/> </beans> \ No newline at end of file diff --git a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/config-center.properties similarity index 62% copy from dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties copy to dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/config-center.properties index 180ca9f..4f4946f 100644 --- a/dubbo-samples-configcenter/dubbo-samples-configcenter-externalconfiguration/src/main/resources/yourconfigcenter/dubbo-properties-in-configcenter.properties +++ b/dubbo-samples-configcenter/dubbo-samples-configcenter-xml/src/main/resources/config-center.properties @@ -1,24 +1,25 @@ -# -# # 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 License. -# -# -dubbo.application.name=configcenter-annotation-demo -dubbo.configcenter.address=zookeeper://127.0.0.1:2181 +# Add the following global external properties to `/dubbo/config/dubbo/dubbo.properties` dubbo.registry.address=zookeeper://127.0.0.1:2181 -dubbo.protocol.name=dubbo dubbo.protocol.port=20880 -dubbo.consumer.timeout=3000 \ No newline at end of file +dubbo.metadataReport.address=zookeeper://127.0.0.1:2181 +dubbo.registryData.simpleProviderConfig=true +dubbo.registryData.simpleConsumerConfig=true +# Optional. Add the following application(Consumer) specific external properties +# to `/dubbo/config/configcenter-consumer/dubbo.properties` +dubbo.consumer.timeout=6666 +dubbo.application.qos.port=33333 +dubbo.reference.org.apache.dubbo.samples.configcenter.api.DemoService.timeout=9999 \ No newline at end of file diff --git a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java index ec2228c..ac3f123 100644 --- a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java +++ b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java @@ -36,6 +36,8 @@ public class ZKTools { generateAppLevelOverride(); System.in.read(); + generateServiceLevelOverride(); + System.in.read(); generateAppLevelOverrideConsumer(); } @@ -48,8 +50,7 @@ public class ZKTools { "key: governance-appoverride-provider\n" + "enabled: true\n" + "configs:\n" + - "- addresses: [\"0.0.0.0:20880\"]\n" + " side: provider\n" + - " parameters:\n" + " weight: 900\n" + + "- addresses: [\"0.0.0.0:20880\"]\n" + " side: provider\n" + " parameters:\n" + " weight: 100\n" + "..."; System.out.println(str); @@ -95,6 +96,22 @@ public class ZKTools { } } + public static void generateServiceLevelOverride() { + String str = "# Execute on demo-consumer only\n" + "# the traffic come out from governance-appoverride-consumer will be distributed evenly across all providers,\n" + "# because governance-appoverride-consumer will consider them having the same weight 100.\n" + "---\n" + "configVersion: v2.7\n" + "scope: service\n" + "key: org.apache.dubbo.samples.governance.api.DemoService\n" + "enabled: true\n" + "configs:\n" + "- addresses: [\"0.0.0.0:20881\"]\n" + " side: provider\n" + " par [...] + + System.out.println(str); + + try { + String path = "/dubbo/config/org.apache.dubbo.samples.governance.api.DemoService/configurators"; + if (client.checkExists().forPath(path) == null) { + client.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath(path); + } + setData(path, str); + } catch (Exception e) { + e.printStackTrace(); + } + } + private static void setData(String path, String data) throws Exception { client.setData().forPath(path, data.getBytes()); } diff --git a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-consumer.xml b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-consumer.xml index d0728ea..f4ab886 100644 --- a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-consumer.xml +++ b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-consumer.xml @@ -31,7 +31,7 @@ <!-- optional, use multicast registry center to discover service --> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> - <dubbo:config-center enable="false" address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center highest-priority="false" 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 --> diff --git a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml index ce54ed5..f880d14 100644 --- a/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml +++ b/dubbo-samples-governance/dubbo-samples-applevel-override/src/main/resources/spring/dubbo-demo-provider.xml @@ -33,7 +33,7 @@ <!--optional, use dubbo protocol to export service on port 20880 --> <dubbo:protocol name="dubbo" port="-1"/> - <dubbo:config-center enable="false" address="zookeeper://127.0.0.1:2181"/> + <dubbo:config-center highest-priority="false" address="zookeeper://127.0.0.1:2181"/> <!-- service implementation, as same as regular local bean --> <bean id="demoService" class="org.apache.dubbo.samples.governance.impl.DemoServiceImpl"/> diff --git a/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java b/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java index cf6a090..b1fd025 100644 --- a/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java +++ b/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java @@ -34,6 +34,7 @@ public class ZKTools { client.start(); generateServiceLevelOverride(); + generateApplicationLevelOverride(); } public static void generateServiceLevelOverride() { @@ -44,8 +45,7 @@ public class ZKTools { "enabled: true\n" + "configs:\n" + "- addresses: [0.0.0.0]\n" + - " side: consumer\n" + - " parameters:\n" + " timeout: 6000\n" + + " side: consumer\n" + " parameters:\n" + " timeout: 1000\n" + "...\n"; System.out.println(str); @@ -61,6 +61,22 @@ public class ZKTools { } } + public static void generateApplicationLevelOverride() { + String str = "# All Consumers that consume the service org.apache.dubbo.samples.governance.api.DemoService will increase the timeout value to 6000\n" + "---\n" + "configVersion: v2.7\n" + "scope: application\n" + "key: governance-serviceoverride-consumer\n" + "enabled: true\n" + "configs:\n" + "- addresses: [0.0.0.0]\n" + " side: consumer\n" + " parameters:\n" + " timeout: 5000\n" + "...\n"; + + System.out.println(str); + + try { + String path = "/dubbo/config/governance-serviceoverride-consumer/configurators"; + if (client.checkExists().forPath(path) == null) { + client.create().creatingParentsIfNeeded().forPath(path); + } + setData(path, str); + } catch (Exception e) { + e.printStackTrace(); + } + } + private static void setData(String path, String data) throws Exception { client.setData().forPath(path, data.getBytes()); } diff --git a/dubbo-samples-governance/dubbo-samples-tagrouter/src/main/java/org/apache/dubbo/samples/governance/BasicConsumer.java b/dubbo-samples-governance/dubbo-samples-tagrouter/src/main/java/org/apache/dubbo/samples/governance/BasicConsumer.java index 4109abb..4f9483e 100644 --- a/dubbo-samples-governance/dubbo-samples-tagrouter/src/main/java/org/apache/dubbo/samples/governance/BasicConsumer.java +++ b/dubbo-samples-governance/dubbo-samples-tagrouter/src/main/java/org/apache/dubbo/samples/governance/BasicConsumer.java @@ -40,12 +40,14 @@ public class BasicConsumer { RpcContext.getContext().setAttachment(Constants.TAG_KEY, "tag1"); String hello = demoService.sayHello("world"); // call remote method System.out.println(hello); // get result - + } catch (Throwable throwable) { + throwable.printStackTrace(); + } + try { RpcContext.getContext().setAttachment(Constants.TAG_KEY, "tag2"); // RpcContext.getContext().setAttachment(Constants.FORCE_USE_TAG, "true"); String hello2 = demoService2.sayHello("world again"); // call remote method System.out.println(hello2); // get result - } catch (Throwable throwable) { throwable.printStackTrace(); } diff --git a/dubbo-samples-mock/pom.xml b/dubbo-samples-mock/pom.xml index 051362d..4f29406 100644 --- a/dubbo-samples-mock/pom.xml +++ b/dubbo-samples-mock/pom.xml @@ -30,5 +30,12 @@ <artifactId>dubbo-samples-mock</artifactId> + <dependencies> + <dependency> + <groupId>org.yaml</groupId> + <artifactId>snakeyaml</artifactId> + <version>1.20</version> + </dependency> + </dependencies> </project> \ No newline at end of file diff --git a/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java b/dubbo-samples-mock/src/main/java/org/apache/dubbo/samples/mock/ZKTools.java similarity index 73% copy from dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java copy to dubbo-samples-mock/src/main/java/org/apache/dubbo/samples/mock/ZKTools.java index cf6a090..448d1c3 100644 --- a/dubbo-samples-governance/dubbo-samples-servicelevel-override/src/main/java/org/apache/dubbo/samples/governance/ZKTools.java +++ b/dubbo-samples-mock/src/main/java/org/apache/dubbo/samples/mock/ZKTools.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.dubbo.samples.governance; +package org.apache.dubbo.samples.mock; import org.apache.dubbo.common.utils.StringUtils; @@ -29,29 +29,19 @@ public class ZKTools { private static CuratorFramework client; public static void main(String[] args) throws Exception { - client = CuratorFrameworkFactory.newClient("127.0.0.1:2181", 60 * 1000, 60 * 1000, - new ExponentialBackoffRetry(6000, 3)); + client = CuratorFrameworkFactory.newClient("127.0.0.1:2181", 60 * 1000, 60 * 1000, new ExponentialBackoffRetry(6000, 3)); client.start(); generateServiceLevelOverride(); } public static void generateServiceLevelOverride() { - String str = "# All Consumers that consume the service org.apache.dubbo.samples.governance.api.DemoService will increase the timeout value to 6000\n" + - "---\n" + "configVersion: v2.7\n" + - "scope: service\n" + - "key: org.apache.dubbo.samples.governance.api.DemoService\n" + - "enabled: true\n" + - "configs:\n" + - "- addresses: [0.0.0.0]\n" + - " side: consumer\n" + - " parameters:\n" + " timeout: 6000\n" + - "...\n"; + String str = "---\n" + "configVersion: v2.7\n" + "scope: service\n" + "key: org.apache.dubbo.samples.mock.api.DemoService\n" + "enabled: true\n" + "configs:\n" + "- addresses: [0.0.0.0]\n" + " side: consumer\n" + " parameters:\n" + " mock: return null\n" + "...\n"; System.out.println(str); try { - String path = "/dubbo/config/org.apache.dubbo.samples.governance.api.DemoService/configurators"; + String path = "/dubbo/config/org.apache.dubbo.samples.mock.api.DemoService/configurators"; if (client.checkExists().forPath(path) == null) { client.create().creatingParentsIfNeeded().forPath(path); } diff --git a/dubbo-samples-mock/src/main/resources/spring/mock-consumer.xml b/dubbo-samples-mock/src/main/resources/spring/mock-consumer.xml index 09389f9..3648ccb 100644 --- a/dubbo-samples-mock/src/main/resources/spring/mock-consumer.xml +++ b/dubbo-samples-mock/src/main/resources/spring/mock-consumer.xml @@ -26,8 +26,7 @@ don't set it same as provider --> <dubbo:application name="demo-consumer"/> - <!-- use multicast registry center to discover service --> - <dubbo:registry group="aaa" address="zookeeper://127.0.0.1:2181"/> + <dubbo:registry 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 --> diff --git a/dubbo-samples-mock/src/main/resources/spring/mock-provider.xml b/dubbo-samples-mock/src/main/resources/spring/mock-provider.xml index 4715272..de056ed 100644 --- a/dubbo-samples-mock/src/main/resources/spring/mock-provider.xml +++ b/dubbo-samples-mock/src/main/resources/spring/mock-provider.xml @@ -25,8 +25,6 @@ <!-- provider's application name, used for tracing dependency relationship --> <dubbo:application name="demo-provider"/> - <!-- use multicast registry center to export service --> - <dubbo:registry group="aaa" address="zookeeper://127.0.0.1:2181"/> <dubbo:registry address="zookeeper://127.0.0.1:2181"/> <!-- use dubbo protocol to export service on port 20880 --> diff --git a/pom.xml b/pom.xml index 47136ba..4df253e 100644 --- a/pom.xml +++ b/pom.xml @@ -56,7 +56,7 @@ <module>dubbo-samples-governance</module> <module>dubbo-samples-metadata-report</module> <module>dubbo-samples-simplified-registry</module> - <module>dubbo-samples-concurrency</module> + <module>dubbo-samples-chain</module> </modules> <properties>