This is an automated email from the ASF dual-hosted git repository. albumenj pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git
The following commit(s) were added to refs/heads/master by this push: new c662775 Split duplicated reference configs into several spring xml (#341) c662775 is described below commit c662775434170385ae12461adc2cfb21148073d0 Author: Gong Dewei <kyl...@qq.com> AuthorDate: Fri Jul 2 15:07:49 2021 +0800 Split duplicated reference configs into several spring xml (#341) --- dubbo-samples-multi-registry/pom.xml | 3 +- .../multi/registry/MultiRegistryConsumer.java | 27 +++- .../resources/spring/multi-registry-consumer1.xml | 35 +++++ .../resources/spring/multi-registry-consumer2.xml | 34 ++++ .../resources/spring/multi-registry-consumer3.xml | 34 ++++ .../multi/registry/MultiRegistryServiceIT.java | 174 ++++++++++----------- ...iceIT.java => MultiRegistryServiceSplitIT.java} | 62 ++++---- 7 files changed, 240 insertions(+), 129 deletions(-) diff --git a/dubbo-samples-multi-registry/pom.xml b/dubbo-samples-multi-registry/pom.xml index 8141ee3..26ebfa4 100644 --- a/dubbo-samples-multi-registry/pom.xml +++ b/dubbo-samples-multi-registry/pom.xml @@ -29,7 +29,8 @@ <properties> <source.level>1.8</source.level> <target.level>1.8</target.level> - <dubbo.version>2.7.7</dubbo.version> + <dubbo.version>2.7.11</dubbo.version> +<!-- <dubbo.version>3.0.1-SNAPSHOT</dubbo.version>--> <spring.version>4.3.16.RELEASE</spring.version> <junit.version>4.12</junit.version> <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version> diff --git a/dubbo-samples-multi-registry/src/main/java/org/apache/dubbo/samples/multi/registry/MultiRegistryConsumer.java b/dubbo-samples-multi-registry/src/main/java/org/apache/dubbo/samples/multi/registry/MultiRegistryConsumer.java index f34ea1d..89ae451 100644 --- a/dubbo-samples-multi-registry/src/main/java/org/apache/dubbo/samples/multi/registry/MultiRegistryConsumer.java +++ b/dubbo-samples-multi-registry/src/main/java/org/apache/dubbo/samples/multi/registry/MultiRegistryConsumer.java @@ -28,15 +28,26 @@ import org.springframework.context.support.ClassPathXmlApplicationContext; public class MultiRegistryConsumer { public static void main(String[] args) throws Exception { - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/multi-registry-consumer.xml"); +// ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/multi-registry-consumer.xml"); +// context.start(); +// +// DemoService demoServiceFormDefault = (DemoService) context.getBean("demoServiceFormDefault"); +// HelloService helloServiceFormShanghai = (HelloService) context.getBean("helloServiceFormShanghai"); +// HelloService helloServiceFormBeijing = (HelloService) context.getBean("helloServiceFormBeijing"); +// +// System.out.println(demoServiceFormDefault.get("service form default registry")); +// System.out.println(helloServiceFormShanghai.sayHello("service form shanghai registry")); +// System.out.println(helloServiceFormBeijing.sayHello("service form beijing registry")); + + + ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/multi-registry-consumer1.xml"); context.start(); - DemoService demoServiceFormDefault = (DemoService) context.getBean("demoServiceFormDefault"); - HelloService helloServiceFormShanghai = (HelloService) context.getBean("helloServiceFormShanghai"); - HelloService helloServiceFormBeijing = (HelloService) context.getBean("helloServiceFormBeijing"); - - System.out.println(demoServiceFormDefault.get("service form default registry")); - System.out.println(helloServiceFormShanghai.sayHello("service form shanghai registry")); - System.out.println(helloServiceFormBeijing.sayHello("service form beijing registry")); + DemoService demoService = context.getBean(DemoService.class); + HelloService helloService = context.getBean(HelloService.class); + System.out.println(demoService.get("service form default registry")); + System.out.println(helloService.sayHello("service form shanghai registry")); } + + } diff --git a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer1.xml b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer1.xml new file mode 100644 index 0000000..84b1f44 --- /dev/null +++ b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer1.xml @@ -0,0 +1,35 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" + xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + <context:property-placeholder/> + + <dubbo:application name="multi-registry-consumer"/> + + <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.1:2181}" /> + <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.2:2182}" /> + + <dubbo:reference id="demoService" registry="beijingRegistry" interface="org.apache.dubbo.samples.multi.registry.api.DemoService"/> + <dubbo:reference id="helloService" registry="shanghaiRegistry" interface="org.apache.dubbo.samples.multi.registry.api.HelloService"/> + +</beans> + diff --git a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer2.xml b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer2.xml new file mode 100644 index 0000000..aa252ec --- /dev/null +++ b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer2.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" + xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + <context:property-placeholder/> + + <dubbo:application name="multi-registry-consumer"/> + + <dubbo:registry id="shanghaiRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.2:2182}" /> + + <dubbo:reference id="demoService" interface="org.apache.dubbo.samples.multi.registry.api.DemoService"/> + <dubbo:reference id="helloService" interface="org.apache.dubbo.samples.multi.registry.api.HelloService"/> + +</beans> + diff --git a/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer3.xml b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer3.xml new file mode 100644 index 0000000..8119df2 --- /dev/null +++ b/dubbo-samples-multi-registry/src/main/resources/spring/multi-registry-consumer3.xml @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. + --> + +<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" + xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + <context:property-placeholder/> + + <dubbo:application name="multi-registry-consumer"/> + + <dubbo:registry id="beijingRegistry" address="zookeeper://${zookeeper.address:127.0.0.1}:${zookeeper.port.1:2181}" /> + + <dubbo:reference id="demoService" interface="org.apache.dubbo.samples.multi.registry.api.DemoService"/> + <dubbo:reference id="helloService" interface="org.apache.dubbo.samples.multi.registry.api.HelloService"/> + +</beans> + diff --git a/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java b/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java index cdbe0f4..ef587b5 100644 --- a/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java +++ b/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java @@ -1,87 +1,87 @@ -/* - * 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. - */ - -package org.apache.dubbo.samples.multi.registry; - -import org.apache.dubbo.samples.multi.registry.api.DemoService; -import org.apache.dubbo.samples.multi.registry.api.HelloService; - -import org.junit.Assert; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; - -import java.util.List; - -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = {"classpath:/spring/multi-registry-consumer.xml"}) -public class MultiRegistryServiceIT { - @Autowired - @Qualifier("demoServiceFormDefault") - private DemoService defaultDemoService; - - @Autowired - @Qualifier("demoServiceFormBeijing") - private DemoService beijingDemoService; - - @Autowired - @Qualifier("helloServiceFormBeijing") - private HelloService beijingHelloService; - - @Autowired - @Qualifier("helloServiceFormShanghai") - private HelloService shanghaiHelloService; - - @Test - public void testDefaultDemoService() throws Exception { - Assert.assertEquals("get: demo", defaultDemoService.get("demo")); - } - - @Test - public void testBeijingDemoService() throws Exception { - Assert.assertEquals("get: beijing", beijingDemoService.get("beijing")); - } - - @Test - public void testBeijingHelloService() throws Exception { - Assert.assertEquals("sayHello: beijing", beijingHelloService.sayHello("beijing")); - } - - @Test - public void testShanghaiHelloService() throws Exception { - Assert.assertEquals("sayHello: shanghai", shanghaiHelloService.sayHello("shanghai")); - } - - @Test - public void verifyProvidersFromBeijingRegistry() throws Exception { - List<String> demoServiceProviders = ZKTools.getProviders(DemoService.class, 2181); - Assert.assertEquals(1, demoServiceProviders.size()); - List<String> helloServiceProviders = ZKTools.getProviders(HelloService.class, 2181); - Assert.assertEquals(1, helloServiceProviders.size()); - } - - @Test - public void verifyProvidersFromShanghaiRegistry() throws Exception { - List<String> demoServiceProviders = ZKTools.getProviders(DemoService.class, 2182); - Assert.assertEquals(1, demoServiceProviders.size()); - List<String> helloServiceProviders = ZKTools.getProviders(HelloService.class, 2182); - Assert.assertEquals(1, helloServiceProviders.size()); - } -} +///* +// * 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. +// */ +// +//package org.apache.dubbo.samples.multi.registry; +// +//import org.apache.dubbo.samples.multi.registry.api.DemoService; +//import org.apache.dubbo.samples.multi.registry.api.HelloService; +// +//import org.junit.Assert; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.beans.factory.annotation.Qualifier; +//import org.springframework.test.context.ContextConfiguration; +//import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +// +//import java.util.List; +// +//@RunWith(SpringJUnit4ClassRunner.class) +//@ContextConfiguration(locations = {"classpath:/spring/multi-registry-consumer.xml"}) +//public class MultiRegistryServiceIT { +// @Autowired +// @Qualifier("demoServiceFormDefault") +// private DemoService defaultDemoService; +// +// @Autowired +// @Qualifier("demoServiceFormBeijing") +// private DemoService beijingDemoService; +// +// @Autowired +// @Qualifier("helloServiceFormBeijing") +// private HelloService beijingHelloService; +// +// @Autowired +// @Qualifier("helloServiceFormShanghai") +// private HelloService shanghaiHelloService; +// +// @Test +// public void testDefaultDemoService() throws Exception { +// Assert.assertEquals("get: demo", defaultDemoService.get("demo")); +// } +// +// @Test +// public void testBeijingDemoService() throws Exception { +// Assert.assertEquals("get: beijing", beijingDemoService.get("beijing")); +// } +// +// @Test +// public void testBeijingHelloService() throws Exception { +// Assert.assertEquals("sayHello: beijing", beijingHelloService.sayHello("beijing")); +// } +// +// @Test +// public void testShanghaiHelloService() throws Exception { +// Assert.assertEquals("sayHello: shanghai", shanghaiHelloService.sayHello("shanghai")); +// } +// +// @Test +// public void verifyProvidersFromBeijingRegistry() throws Exception { +// List<String> demoServiceProviders = ZKTools.getProviders(DemoService.class, 2181); +// Assert.assertEquals(1, demoServiceProviders.size()); +// List<String> helloServiceProviders = ZKTools.getProviders(HelloService.class, 2181); +// Assert.assertEquals(1, helloServiceProviders.size()); +// } +// +// @Test +// public void verifyProvidersFromShanghaiRegistry() throws Exception { +// List<String> demoServiceProviders = ZKTools.getProviders(DemoService.class, 2182); +// Assert.assertEquals(1, demoServiceProviders.size()); +// List<String> helloServiceProviders = ZKTools.getProviders(HelloService.class, 2182); +// Assert.assertEquals(1, helloServiceProviders.size()); +// } +//} diff --git a/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java b/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceSplitIT.java similarity index 50% copy from dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java copy to dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceSplitIT.java index cdbe0f4..184c807 100644 --- a/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceIT.java +++ b/dubbo-samples-multi-registry/src/test/java/org/apache/dubbo/samples/multi/registry/MultiRegistryServiceSplitIT.java @@ -17,56 +17,52 @@ package org.apache.dubbo.samples.multi.registry; +import org.apache.dubbo.config.bootstrap.DubboBootstrap; import org.apache.dubbo.samples.multi.registry.api.DemoService; import org.apache.dubbo.samples.multi.registry.api.HelloService; - import org.junit.Assert; +import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; +import org.springframework.context.support.ClassPathXmlApplicationContext; import java.util.List; -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration(locations = {"classpath:/spring/multi-registry-consumer.xml"}) -public class MultiRegistryServiceIT { - @Autowired - @Qualifier("demoServiceFormDefault") - private DemoService defaultDemoService; - - @Autowired - @Qualifier("demoServiceFormBeijing") - private DemoService beijingDemoService; - - @Autowired - @Qualifier("helloServiceFormBeijing") - private HelloService beijingHelloService; +public class MultiRegistryServiceSplitIT { - @Autowired - @Qualifier("helloServiceFormShanghai") - private HelloService shanghaiHelloService; - - @Test - public void testDefaultDemoService() throws Exception { - Assert.assertEquals("get: demo", defaultDemoService.get("demo")); + @Before + public void setUp() { + try { + DubboBootstrap.reset(); + } catch (Throwable e) { + e.printStackTrace(); + } } @Test - public void testBeijingDemoService() throws Exception { - Assert.assertEquals("get: beijing", beijingDemoService.get("beijing")); + public void testConsumer1() throws Exception { + ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring/multi-registry-consumer1.xml"); + DemoService demoService = applicationContext.getBean(DemoService.class); + HelloService helloService = applicationContext.getBean(HelloService.class); + Assert.assertEquals("get: demo", demoService.get("demo")); + Assert.assertEquals("sayHello: beijing", helloService.sayHello("beijing")); } @Test - public void testBeijingHelloService() throws Exception { - Assert.assertEquals("sayHello: beijing", beijingHelloService.sayHello("beijing")); + public void testConsumer2() throws Exception { + ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring/multi-registry-consumer2.xml"); + DemoService demoService = applicationContext.getBean(DemoService.class); + HelloService helloService = applicationContext.getBean(HelloService.class); + Assert.assertEquals("get: demo", demoService.get("demo")); + Assert.assertEquals("sayHello: beijing", helloService.sayHello("beijing")); } @Test - public void testShanghaiHelloService() throws Exception { - Assert.assertEquals("sayHello: shanghai", shanghaiHelloService.sayHello("shanghai")); + public void testConsumer3() throws Exception { + ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("/spring/multi-registry-consumer3.xml"); + DemoService demoService = applicationContext.getBean(DemoService.class); + HelloService helloService = applicationContext.getBean(HelloService.class); + Assert.assertEquals("get: demo", demoService.get("demo")); + Assert.assertEquals("sayHello: beijing", helloService.sayHello("beijing")); } @Test --------------------------------------------------------------------- To unsubscribe, e-mail: notifications-unsubscr...@dubbo.apache.org For additional commands, e-mail: notifications-h...@dubbo.apache.org