You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by li...@apache.org on 2020/03/12 11:07:27 UTC

[dubbo-samples] branch master updated: add IT for edas sample

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-samples.git


The following commit(s) were added to refs/heads/master by this push:
     new ceb96eb  add IT for edas sample
ceb96eb is described below

commit ceb96eb68553035418548602a9369ac8cd875561
Author: ken.lj <ke...@gmail.com>
AuthorDate: Thu Mar 12 19:04:58 2020 +0800

    add IT for edas sample
---
 .../dubbo-samples-edas-consumer/pom.xml            |   3 +-
 .../dubbo-samples-edas-provider/pom.xml            | 200 +++++++++++++++------
 .../dubbo/samples/edas/provider/DubboProvider.java |   3 +
 .../src/main/resources/log4j.properties            |  25 +++
 .../apache/dubbo/samples/edas/DubboConsumer.java}  |  27 ++-
 5 files changed, 201 insertions(+), 57 deletions(-)

diff --git a/java/dubbo-samples-edas/dubbo-samples-edas-consumer/pom.xml b/java/dubbo-samples-edas/dubbo-samples-edas-consumer/pom.xml
index 2cf7dc1..26c5f8f 100644
--- a/java/dubbo-samples-edas/dubbo-samples-edas-consumer/pom.xml
+++ b/java/dubbo-samples-edas/dubbo-samples-edas-consumer/pom.xml
@@ -14,6 +14,7 @@
     <properties>
         <spring-boot.version>2.1.1.RELEASE</spring-boot.version>
         <dubbo.version>2.7.5</dubbo.version>
+        <dubbo.boot-starter.version>2.7.5</dubbo.boot-starter.version>
     </properties>
 
     <dependencyManagement>
@@ -61,7 +62,7 @@
         <dependency>
             <groupId>org.apache.dubbo</groupId>
             <artifactId>dubbo-spring-boot-starter</artifactId>
-            <version>2.7.1</version>
+            <version>${dubbo.boot-starter.version}</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
diff --git a/java/dubbo-samples-edas/dubbo-samples-edas-provider/pom.xml b/java/dubbo-samples-edas/dubbo-samples-edas-provider/pom.xml
index 83aa892..17202fb 100644
--- a/java/dubbo-samples-edas/dubbo-samples-edas-provider/pom.xml
+++ b/java/dubbo-samples-edas/dubbo-samples-edas-provider/pom.xml
@@ -12,88 +12,186 @@
     <artifactId>dubbo-samples-edas-provider</artifactId>
 
     <properties>
-        <spring-boot.version>2.1.1.RELEASE</spring-boot.version>
+        <source.level>1.8</source.level>
+        <target.level>1.8</target.level>
         <dubbo.version>2.7.5</dubbo.version>
+        <junit.version>4.12</junit.version>
+        <spring-test.version>4.3.16.RELEASE</spring-test.version>
+        <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version>
+        <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version>
+        <spring.boot.version>1.5.13.RELEASE</spring.boot.version>
+        <spring.version>4.3.16.RELEASE</spring.version>
     </properties>
 
-    <dependencyManagement>
-        <dependencies>
-            <!-- Spring Boot -->
-            <dependency>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-dependencies</artifactId>
-                <version>${spring-boot.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <!-- Apache Dubbo  -->
-            <dependency>
-                <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo-dependencies-bom</artifactId>
-                <version>${dubbo.version}</version>
-                <type>pom</type>
-                <scope>import</scope>
-            </dependency>
-            <dependency>
-                <groupId>org.apache.dubbo</groupId>
-                <artifactId>dubbo</artifactId>
-                <version>${dubbo.version}</version>
-                <exclusions>
-                    <exclusion>
-                        <groupId>org.springframework</groupId>
-                        <artifactId>spring</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>javax.servlet</groupId>
-                        <artifactId>servlet-api</artifactId>
-                    </exclusion>
-                    <exclusion>
-                        <groupId>log4j</groupId>
-                        <artifactId>log4j</artifactId>
-                    </exclusion>
-                </exclusions>
-            </dependency>
-        </dependencies>
-    </dependencyManagement>
-
     <dependencies>
-        <!-- Dubbo Spring Boot Starter -->
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo-spring-boot-starter</artifactId>
-            <version>2.7.1</version>
+            <artifactId>dubbo</artifactId>
+            <version>${dubbo.version}</version>
         </dependency>
+
         <dependency>
             <groupId>org.apache.dubbo</groupId>
-            <artifactId>dubbo</artifactId>
+            <artifactId>dubbo-dependencies-zookeeper</artifactId>
+            <version>${dubbo.version}</version>
+            <type>pom</type>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
         </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-autoconfigure</artifactId>
+            <artifactId>spring-boot-starter</artifactId>
+            <version>${spring.boot.version}</version>
         </dependency>
+
         <dependency>
             <groupId>com.alibaba.edas</groupId>
             <artifactId>edas-dubbo-extension</artifactId>
             <version>2.0.2</version>
         </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-test</artifactId>
+            <version>${spring.boot.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
+            <scope>test</scope>
+        </dependency>
+
+        <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>testcontainers</artifactId>
+            <version>1.12.3</version>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
+    <profiles>
+        <profile>
+            <id>dubbo-integration-test</id>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-failsafe-plugin</artifactId>
+                        <version>${maven-failsafe-plugin.version}</version>
+                        <executions>
+                            <execution>
+                                <goals>
+                                    <goal>integration-test</goal>
+                                    <goal>verify</goal>
+                                </goals>
+                                <configuration>
+                                    <includes>
+                                        <include>**/*IT.java</include>
+                                    </includes>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    </profiles>
 
     <build>
+        <extensions>
+            <extension>
+                <groupId>kr.motd.maven</groupId>
+                <artifactId>os-maven-plugin</artifactId>
+                <version>1.6.1</version>
+            </extension>
+        </extensions>
         <plugins>
             <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>${maven-compiler-plugin.version}</version>
+                <configuration>
+                    <source>${source.level}</source>
+                    <target>${target.level}</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.xolstice.maven.plugins</groupId>
+                <artifactId>protobuf-maven-plugin</artifactId>
+                <version>0.5.1</version>
+                <configuration>
+                    <protocArtifact>com.google.protobuf:protoc:3.7.1:exe:${os.detected.classifier}</protocArtifact>
+                    <pluginId>grpc-java</pluginId>
+                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}
+                    </pluginArtifact>
+                    <outputDirectory>build/generated/source/proto/main/java</outputDirectory>
+                    <clearOutputDirectory>false</clearOutputDirectory>
+                    <protocPlugins>
+                        <protocPlugin>
+                            <id>dubbo-grpc</id>
+                            <groupId>org.apache.dubbo</groupId>
+                            <artifactId>dubbo-compiler</artifactId>
+                            <version>${dubbo.compiler.version}</version>
+                            <mainClass>org.apache.dubbo.gen.grpc.DubboGrpcGenerator</mainClass>
+                        </protocPlugin>
+                    </protocPlugins>
+                </configuration>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>compile</goal>
+                            <goal>compile-custom</goal>
+                            <goal>test-compile</goal>
+                            <goal>test-compile-custom</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
                 <executions>
                     <execution>
+                        <phase>generate-sources</phase>
                         <goals>
-                            <goal>repackage</goal>
+                            <goal>add-source</goal>
                         </goals>
+                        <configuration>
+                            <sources>
+                                <source>build/generated/source/proto/main/java</source>
+                            </sources>
+                        </configuration>
                     </execution>
                 </executions>
             </plugin>
+
+            <!--            https://stackoverflow.com/questions/40664101/maven-integration-test-doesnt-find-my-class-in-same-package-structure-->
+            <!--            <plugin>-->
+            <!--                <groupId>org.springframework.boot</groupId>-->
+            <!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
+            <!--                <version>${spring-boot.version}</version>-->
+            <!--                <configuration>-->
+            <!--                    <mainClass>${main-class}</mainClass>-->
+            <!--                    <layout>JAR</layout>-->
+            <!--                </configuration>-->
+            <!--                <executions>-->
+            <!--                    <execution>-->
+            <!--                        <goals>-->
+            <!--                            <goal>repackage</goal>-->
+            <!--                        </goals>-->
+            <!--                    </execution>-->
+            <!--                </executions>-->
+            <!--            </plugin>-->
+
         </plugins>
     </build>
 
-
-</project>
\ No newline at end of file
+</project>
diff --git a/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java
index f109af3..05db9bd 100644
--- a/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java
+++ b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java
@@ -18,10 +18,13 @@
 
 package org.apache.dubbo.samples.edas.provider;
 
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 
 @EnableAutoConfiguration
+@EnableDubbo(scanBasePackages = {"org.apache.dubbo.samples.edas"})
 public class DubboProvider {
 
     public static void main(String[] args) {
diff --git a/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/resources/log4j.properties b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/resources/log4j.properties
new file mode 100644
index 0000000..f30fda0
--- /dev/null
+++ b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/resources/log4j.properties
@@ -0,0 +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.
+#
+#
+###set log levels###
+log4j.rootLogger=info, stdout
+###output to the console###
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.Target=System.out
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n
\ No newline at end of file
diff --git a/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/test/java/org/apache/dubbo/samples/edas/DubboConsumer.java
similarity index 52%
copy from java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java
copy to java/dubbo-samples-edas/dubbo-samples-edas-provider/src/test/java/org/apache/dubbo/samples/edas/DubboConsumer.java
index f109af3..5ca2456 100644
--- a/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/main/java/org/apache/dubbo/samples/edas/provider/DubboProvider.java
+++ b/java/dubbo-samples-edas/dubbo-samples-edas-provider/src/test/java/org/apache/dubbo/samples/edas/DubboConsumer.java
@@ -16,15 +16,32 @@
  *
  */
 
-package org.apache.dubbo.samples.edas.provider;
+package org.apache.dubbo.samples.edas;
+
+import org.apache.dubbo.config.annotation.Reference;
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+import org.apache.dubbo.samples.edas.provider.DubboProvider;
 
 import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.stereotype.Service;
+
+@SpringBootApplication
+@Service
+@EnableDubbo(scanBasePackages = {"org.apache.dubbo.samples.edas"})
+@ConditionalOnBean(DubboProvider.class)
+public class DubboConsumer {
 
-@EnableAutoConfiguration
-public class DubboProvider {
+    @Reference(version = "1.0.0.daily", injvm = false, check = false)
+    private GreetingService demoService;
 
     public static void main(String[] args) {
-        SpringApplication.run(DubboProvider.class, args);
+        SpringApplication.run(DubboConsumer.class);
     }
+
+    public String callDemoService() {
+        return demoService.sayHello("world");
+    }
+
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@dubbo.apache.org
For additional commands, e-mail: notifications-help@dubbo.apache.org