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 dfeeefdd Introduce Dubbo Task (#636)
dfeeefdd is described below
commit dfeeefdd9215d3e7b70b30da69ddc74d0278e3b6
Author: Albumen Kevin <[email protected]>
AuthorDate: Mon Dec 19 11:36:41 2022 +0800
Introduce Dubbo Task (#636)
---
.github/workflows/dubbo-3_1.yml | 4 +-
.github/workflows/dubbo-3_2.yml | 4 +-
.../dubbo-samples-rpc-advanced-api-a/pom.xml | 36 ++++++++
.../java/org/apache/dubbo/samples/ServiceA.java | 22 +++++
.../dubbo-samples-rpc-advanced-api-b/pom.xml | 36 ++++++++
.../java/org/apache/dubbo/samples/ServiceB.java | 22 +++++
.../dubbo-samples-rpc-advanced-api-c/pom.xml | 36 ++++++++
.../java/org/apache/dubbo/samples/ServiceC.java | 22 +++++
.../dubbo-samples-rpc-advanced-api-d/pom.xml | 36 ++++++++
.../java/org/apache/dubbo/samples/ServiceD.java | 22 +++++
.../dubbo-samples-rpc-advanced-app-a/pom.xml | 98 ++++++++++++++++++++++
.../org/apache/dubbo/samples/a/ApplicationA.java | 32 +++++++
.../apache/dubbo/samples/a/BenchmarkClient.java | 50 +++++++++++
.../org/apache/dubbo/samples/a/ServiceAImpl.java | 76 +++++++++++++++++
.../src/main/resources/application.properties | 30 +++++++
.../dubbo-samples-rpc-advanced-app-b-v1/pom.xml | 93 ++++++++++++++++++++
.../org/apache/dubbo/samples/b1/ApplicationB1.java | 32 +++++++
.../org/apache/dubbo/samples/b1/ServiceBImpl.java | 49 +++++++++++
.../src/main/resources/application.properties | 30 +++++++
.../dubbo-samples-rpc-advanced-app-b-v2/pom.xml | 93 ++++++++++++++++++++
.../org/apache/dubbo/samples/b2/ApplicationB2.java | 32 +++++++
.../org/apache/dubbo/samples/b2/ServiceBImpl.java | 63 ++++++++++++++
.../src/main/resources/application.properties | 30 +++++++
.../dubbo-samples-rpc-advanced-app-c/pom.xml | 88 +++++++++++++++++++
.../org/apache/dubbo/samples/c/ApplicationC.java | 32 +++++++
.../org/apache/dubbo/samples/c/ServiceCImpl.java | 49 +++++++++++
.../src/main/resources/application.properties | 30 +++++++
.../dubbo-samples-rpc-advanced-app-d/pom.xml | 88 +++++++++++++++++++
.../org/apache/dubbo/samples/d/ApplicationD.java | 32 +++++++
.../org/apache/dubbo/samples/d/ServiceDImpl.java | 49 +++++++++++
.../src/main/resources/application.properties | 30 +++++++
10-task/dubbo-samples-rpc-advanced/pom.xml | 42 ++++++++++
.../dubbo-samples-rpc-basic-api/pom.xml | 36 ++++++++
.../java/org/apache/dubbo/samples/DemoService.java | 22 +++++
.../dubbo-samples-rpc-basic-consumer/pom.xml | 89 ++++++++++++++++++++
.../samples/consumer/ConsumerApplication.java | 45 ++++++++++
.../src/main/resources/application.properties | 24 ++++++
.../dubbo-samples-rpc-basic-provider/pom.xml | 88 +++++++++++++++++++
.../dubbo/samples/provider/DemoServiceImpl.java | 28 +++++++
.../samples/provider/ProviderApplication.java | 32 +++++++
.../src/main/resources/application.properties | 24 ++++++
10-task/dubbo-samples-rpc-basic/pom.xml | 36 ++++++++
10-task/dubbo-samples-shop/pom.xml | 32 +++++++
10-task/pom.xml | 34 ++++++++
3-extensions/protocol/dubbo-samples-rest/pom.xml | 7 +-
pom.xml | 1 +
46 files changed, 1881 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/dubbo-3_1.yml b/.github/workflows/dubbo-3_1.yml
index 3d7b17b9..8d448b13 100644
--- a/.github/workflows/dubbo-3_1.yml
+++ b/.github/workflows/dubbo-3_1.yml
@@ -43,10 +43,10 @@ jobs:
key: ${{ runner.os }}-samples-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-samples-maven-
- - name: Set up JDK 8
+ - name: Set up JDK 17
uses: actions/setup-java@v1
with:
- java-version: 8
+ java-version: 17
- name: Build with Maven
run: |
./mvnw $BUILD_OPTS
diff --git a/.github/workflows/dubbo-3_2.yml b/.github/workflows/dubbo-3_2.yml
index 3d3f1dd1..6468561b 100644
--- a/.github/workflows/dubbo-3_2.yml
+++ b/.github/workflows/dubbo-3_2.yml
@@ -43,10 +43,10 @@ jobs:
key: ${{ runner.os }}-samples-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-samples-maven-
- - name: Set up JDK 8
+ - name: Set up JDK 17
uses: actions/setup-java@v1
with:
- java-version: 8
+ java-version: 17
- name: Build with Maven
run: |
./mvnw $BUILD_OPTS
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/pom.xml
new file mode 100644
index 00000000..aabaa3af
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ <relativePath/>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-a</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App A's API</name>
+ <description>Dubbo RPC Advanced Task - App A's API</description>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/src/main/java/org/apache/dubbo/samples/ServiceA.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/src/main/java/org/apache/dubbo/samples/ServiceA.java
new file mode 100644
index 00000000..1a2a6c36
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-a/src/main/java/org/apache/dubbo/samples/ServiceA.java
@@ -0,0 +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.
+ */
+package org.apache.dubbo.samples;
+
+public interface ServiceA {
+
+ String sayHello(String name);
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/pom.xml
new file mode 100644
index 00000000..ca23cb08
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ <relativePath/>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-b</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App B's API</name>
+ <description>Dubbo RPC Advanced Task - App B's API</description>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/src/main/java/org/apache/dubbo/samples/ServiceB.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/src/main/java/org/apache/dubbo/samples/ServiceB.java
new file mode 100644
index 00000000..6734f137
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-b/src/main/java/org/apache/dubbo/samples/ServiceB.java
@@ -0,0 +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.
+ */
+package org.apache.dubbo.samples;
+
+public interface ServiceB {
+
+ String sayHello(String name);
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/pom.xml
new file mode 100644
index 00000000..277164dd
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ <relativePath/>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-c</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App C's API</name>
+ <description>Dubbo RPC Advanced Task - App C's API</description>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/src/main/java/org/apache/dubbo/samples/ServiceC.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/src/main/java/org/apache/dubbo/samples/ServiceC.java
new file mode 100644
index 00000000..44ca3dc1
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-c/src/main/java/org/apache/dubbo/samples/ServiceC.java
@@ -0,0 +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.
+ */
+package org.apache.dubbo.samples;
+
+public interface ServiceC {
+
+ String sayHello(String name);
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/pom.xml
new file mode 100644
index 00000000..4dfd1b04
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ <relativePath/>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-d</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App D's API</name>
+ <description>Dubbo RPC Advanced Task - App D's API</description>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/src/main/java/org/apache/dubbo/samples/ServiceD.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/src/main/java/org/apache/dubbo/samples/ServiceD.java
new file mode 100644
index 00000000..8f85026c
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-api-d/src/main/java/org/apache/dubbo/samples/ServiceD.java
@@ -0,0 +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.
+ */
+package org.apache.dubbo.samples;
+
+public interface ServiceD {
+
+ String sayHello(String name);
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
new file mode 100644
index 00000000..87b82e26
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/pom.xml
@@ -0,0 +1,98 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-app-a</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App A</name>
+ <description>Dubbo RPC Basic Task - App A</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-a</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-b</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-d</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ApplicationA.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ApplicationA.java
new file mode 100644
index 00000000..1b3520c1
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ApplicationA.java
@@ -0,0 +1,32 @@
+/*
+ * 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.a;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ApplicationA {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ApplicationA.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/BenchmarkClient.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/BenchmarkClient.java
new file mode 100644
index 00000000..0d400d14
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/BenchmarkClient.java
@@ -0,0 +1,50 @@
+/*
+ * 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.a;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.samples.ServiceA;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.stereotype.Component;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ThreadLocalRandom;
+import java.util.concurrent.TimeUnit;
+
+@Component
+public class BenchmarkClient implements CommandLineRunner {
+ private static final Logger logger =
LoggerFactory.getLogger(BenchmarkClient.class);
+
+ @DubboReference
+ private ServiceA serviceA;
+
+ @Override
+ public void run(String... args) {
+ Executors.newScheduledThreadPool(1)
+ .scheduleAtFixedRate(()->{
+ List<String> names = Arrays.asList("John", "Mike",
"Kevin", "Grace", "Mark");
+ String name =
names.get(ThreadLocalRandom.current().nextInt(names.size()));
+ String result = serviceA.sayHello(name);
+ logger.info(result);
+ }, 0, 1, TimeUnit.SECONDS);
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ServiceAImpl.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ServiceAImpl.java
new file mode 100644
index 00000000..524e346d
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/java/org/apache/dubbo/samples/a/ServiceAImpl.java
@@ -0,0 +1,76 @@
+/*
+ * 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.a;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.ServiceA;
+import org.apache.dubbo.samples.ServiceB;
+import org.apache.dubbo.samples.ServiceD;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class ServiceAImpl implements ServiceA {
+
+ @DubboReference
+ private ServiceB serviceB;
+
+ @DubboReference
+ private ServiceD serviceD;
+
+ private String localHost;
+
+ public ServiceAImpl() {
+ try {
+ localHost = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ localHost = "unknown host";
+ }
+ }
+
+ @Override
+ public String sayHello(String name) {
+ try {
+ Thread.sleep(ThreadLocalRandom.current().nextInt(100));
+ } catch (InterruptedException ignore) {
+ Thread.currentThread().interrupt();
+ }
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("Hello, ").append(name).append(". ")
+ .append("I am App A from ").append(localHost).append(".\n");
+
+ stringBuilder.append("\n");
+
+ stringBuilder.append("App A ====> App B Start\n");
+ stringBuilder.append(serviceB.sayHello(name));
+ stringBuilder.append("App A ====> App B End\n");
+
+ if (ThreadLocalRandom.current().nextInt(100) < 50) {
+ // 50%
+ stringBuilder.append("\n");
+
+ stringBuilder.append("App A ====> App C Start\n");
+ stringBuilder.append(serviceB.sayHello(name));
+ stringBuilder.append("App A ====> App C End\n");
+ }
+
+ return stringBuilder.toString();
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/resources/application.properties
new file mode 100644
index 00000000..f141a6cd
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-a/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=a
+
+# Specify the QoS port
+dubbo.application.qos-port=20991
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20881
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
new file mode 100644
index 00000000..3c654fb2
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/pom.xml
@@ -0,0 +1,93 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-app-b-v1</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App B V1</name>
+ <description>Dubbo RPC Basic Task - App B - Version 1</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-b</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-c</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ApplicationB1.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ApplicationB1.java
new file mode 100644
index 00000000..4fdb1067
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ApplicationB1.java
@@ -0,0 +1,32 @@
+/*
+ * 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.b1;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ApplicationB1 {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ApplicationB1.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ServiceBImpl.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ServiceBImpl.java
new file mode 100644
index 00000000..626d04f4
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/java/org/apache/dubbo/samples/b1/ServiceBImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.b1;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.ServiceB;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class ServiceBImpl implements ServiceB {
+
+ private String localHost;
+
+ public ServiceBImpl() {
+ try {
+ localHost = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ localHost = "unknown host";
+ }
+ }
+
+ @Override
+ public String sayHello(String name) {
+ try {
+ Thread.sleep(ThreadLocalRandom.current().nextInt(100));
+ } catch (InterruptedException ignore) {
+ Thread.currentThread().interrupt();
+ }
+ return "Hello, " + name + ". " +
+ "I am App B from " + localHost + ".\n";
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/resources/application.properties
new file mode 100644
index 00000000..8c9f9995
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v1/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=b
+
+# Specify the QoS port
+dubbo.application.qos-port=20992
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20882
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
new file mode 100644
index 00000000..2512b54a
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/pom.xml
@@ -0,0 +1,93 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-app-b-v2</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App B V2</name>
+ <description>Dubbo RPC Basic Task - App B - Version 2</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-b</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-c</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ApplicationB2.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ApplicationB2.java
new file mode 100644
index 00000000..cf701d67
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ApplicationB2.java
@@ -0,0 +1,32 @@
+/*
+ * 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.b2;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ApplicationB2 {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ApplicationB2.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ServiceBImpl.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ServiceBImpl.java
new file mode 100644
index 00000000..86c3827b
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/java/org/apache/dubbo/samples/b2/ServiceBImpl.java
@@ -0,0 +1,63 @@
+/*
+ * 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.b2;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.ServiceB;
+import org.apache.dubbo.samples.ServiceC;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class ServiceBImpl implements ServiceB {
+
+ @DubboReference
+ private ServiceC serviceC;
+
+ private String localHost;
+
+ public ServiceBImpl() {
+ try {
+ localHost = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ localHost = "unknown host";
+ }
+ }
+
+ @Override
+ public String sayHello(String name) {
+ try {
+ Thread.sleep(ThreadLocalRandom.current().nextInt(100));
+ } catch (InterruptedException ignore) {
+ Thread.currentThread().interrupt();
+ }
+ StringBuilder stringBuilder = new StringBuilder();
+ stringBuilder.append("Hello, ").append(name).append(". ")
+ .append("I am App B from ").append(localHost).append(".\n");
+
+ stringBuilder.append("\n");
+
+ stringBuilder.append("App B ====> App C Start\n");
+ stringBuilder.append(serviceC.sayHello(name));
+ stringBuilder.append("App B ====> App C End\n");
+
+ return stringBuilder.toString();
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/resources/application.properties
new file mode 100644
index 00000000..ed12bb56
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-b-v2/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=b
+
+# Specify the QoS port
+dubbo.application.qos-port=20993
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20883
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
new file mode 100644
index 00000000..193f7273
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/pom.xml
@@ -0,0 +1,88 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-app-c</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App C</name>
+ <description>Dubbo RPC Basic Task - App C</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-c</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ApplicationC.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ApplicationC.java
new file mode 100644
index 00000000..a16c9bf8
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ApplicationC.java
@@ -0,0 +1,32 @@
+/*
+ * 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.c;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ApplicationC {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ApplicationC.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ServiceCImpl.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ServiceCImpl.java
new file mode 100644
index 00000000..69acd930
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/java/org/apache/dubbo/samples/c/ServiceCImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.c;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.ServiceC;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class ServiceCImpl implements ServiceC {
+
+ private String localHost;
+
+ public ServiceCImpl() {
+ try {
+ localHost = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ localHost = "unknown host";
+ }
+ }
+
+ @Override
+ public String sayHello(String name) {
+ try {
+ Thread.sleep(ThreadLocalRandom.current().nextInt(100));
+ } catch (InterruptedException ignore) {
+ Thread.currentThread().interrupt();
+ }
+ return "Hello, " + name + ". " +
+ "I am App C from " + localHost + ".\n";
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/resources/application.properties
new file mode 100644
index 00000000..186ad13d
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-c/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=c
+
+# Specify the QoS port
+dubbo.application.qos-port=20994
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20884
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
new file mode 100644
index 00000000..22a62ba3
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/pom.xml
@@ -0,0 +1,88 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-app-d</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Advanced Task - App D</name>
+ <description>Dubbo RPC Basic Task - App D</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-advanced-api-d</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ApplicationD.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ApplicationD.java
new file mode 100644
index 00000000..2ed8926d
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ApplicationD.java
@@ -0,0 +1,32 @@
+/*
+ * 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.d;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ApplicationD {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ApplicationD.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ServiceDImpl.java
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ServiceDImpl.java
new file mode 100644
index 00000000..c401ef5c
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/java/org/apache/dubbo/samples/d/ServiceDImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.d;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.ServiceD;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.concurrent.ThreadLocalRandom;
+
+@DubboService
+public class ServiceDImpl implements ServiceD {
+
+ private String localHost;
+
+ public ServiceDImpl() {
+ try {
+ localHost = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ localHost = "unknown host";
+ }
+ }
+
+ @Override
+ public String sayHello(String name) {
+ try {
+ Thread.sleep(ThreadLocalRandom.current().nextInt(100));
+ } catch (InterruptedException ignore) {
+ Thread.currentThread().interrupt();
+ }
+ return "Hello, " + name + ". " +
+ "I am App D from " + localHost + ".\n";
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/resources/application.properties
new file mode 100644
index 00000000..d4f5c219
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-advanced/dubbo-samples-rpc-advanced-app-d/src/main/resources/application.properties
@@ -0,0 +1,30 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=d
+
+# Specify the QoS port
+dubbo.application.qos-port=20995
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
+
+# Specify the port of Dubbo protocol
+dubbo.protocol.port=20885
\ No newline at end of file
diff --git a/10-task/dubbo-samples-rpc-advanced/pom.xml
b/10-task/dubbo-samples-rpc-advanced/pom.xml
new file mode 100644
index 00000000..3126cf15
--- /dev/null
+++ b/10-task/dubbo-samples-rpc-advanced/pom.xml
@@ -0,0 +1,42 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-samples-rpc-advanced</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Advanced RPC Task</name>
+ <description>Dubbo Samples Advanced RPC Task</description>
+
+ <modules>
+ <module>dubbo-samples-rpc-advanced-api-a</module>
+ <module>dubbo-samples-rpc-advanced-api-b</module>
+ <module>dubbo-samples-rpc-advanced-api-c</module>
+ <module>dubbo-samples-rpc-advanced-api-d</module>
+ <module>dubbo-samples-rpc-advanced-app-a</module>
+ <module>dubbo-samples-rpc-advanced-app-b-v1</module>
+ <module>dubbo-samples-rpc-advanced-app-b-v2</module>
+ <module>dubbo-samples-rpc-advanced-app-c</module>
+ <module>dubbo-samples-rpc-advanced-app-d</module>
+ </modules>
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/pom.xml
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/pom.xml
new file mode 100644
index 00000000..02863ea2
--- /dev/null
+++ b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache</groupId>
+ <artifactId>apache</artifactId>
+ <version>23</version>
+ <relativePath/>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-basic-api</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Basic Task - API</name>
+ <description>Dubbo RPC Basic Task - API</description>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/src/main/java/org/apache/dubbo/samples/DemoService.java
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/src/main/java/org/apache/dubbo/samples/DemoService.java
new file mode 100644
index 00000000..fe528d8e
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-api/src/main/java/org/apache/dubbo/samples/DemoService.java
@@ -0,0 +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.
+ */
+package org.apache.dubbo.samples;
+
+public interface DemoService {
+
+ String sayHello(String name);
+}
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
new file mode 100644
index 00000000..fd597cba
--- /dev/null
+++ b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/pom.xml
@@ -0,0 +1,89 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-basic-consumer</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>Dubbo RPC Basic Task - Consumer</name>
+ <description>Dubbo RPC Basic Task - Consumer</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-basic-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
\ No newline at end of file
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/java/org/apache/dubbo/samples/consumer/ConsumerApplication.java
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/java/org/apache/dubbo/samples/consumer/ConsumerApplication.java
new file mode 100644
index 00000000..3423a1ad
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/java/org/apache/dubbo/samples/consumer/ConsumerApplication.java
@@ -0,0 +1,45 @@
+/*
+ * 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.consumer;
+
+import org.apache.dubbo.config.annotation.DubboReference;
+import org.apache.dubbo.samples.DemoService;
+
+import org.springframework.boot.CommandLineRunner;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.stereotype.Component;
+
+@SpringBootApplication
+public class ConsumerApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ConsumerApplication.class, args);
+ }
+
+ @Component
+ static class DemoTask implements CommandLineRunner {
+ @DubboReference
+ private DemoService demoService;
+
+ @Override
+ public void run(String... args) throws Exception {
+ // will print "hello, dubbo"
+ System.out.println("Dubbo Remote Return ======> " +
demoService.sayHello("dubbo"));
+ }
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/resources/application.properties
new file mode 100644
index 00000000..eecd8ddf
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-consumer/src/main/resources/application.properties
@@ -0,0 +1,24 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=consumer
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
new file mode 100644
index 00000000..289cd218
--- /dev/null
+++ b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/pom.xml
@@ -0,0 +1,88 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-parent</artifactId>
+ <version>3.0.0</version>
+ <relativePath/> <!-- lookup parent from repository -->
+ </parent>
+
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-basic-provider</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+
+ <name>>Dubbo RPC Basic Task - Provider</name>
+ <description>Dubbo RPC Basic Task - Provider</description>
+
+ <properties>
+ <java.version>17</java.version>
+ <dubbo.version>3.2.0-beta.2</dubbo.version>
+ <nacos.version>2.2.0</nacos.version>
+ </properties>
+
+ <dependencies>
+ <!-- common api -->
+ <dependency>
+ <groupId>org.apache.dubbo.samples</groupId>
+ <artifactId>dubbo-samples-rpc-basic-api</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- registry dependency -->
+ <dependency>
+ <groupId>com.alibaba.nacos</groupId>
+ <artifactId>nacos-client</artifactId>
+ <version>${nacos.version}</version>
+ </dependency>
+
+ <!-- dubbo dependency-->
+ <dependency>
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-spring-boot-starter</artifactId>
+ <version>${dubbo.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/DemoServiceImpl.java
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/DemoServiceImpl.java
new file mode 100644
index 00000000..f5819ad9
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/DemoServiceImpl.java
@@ -0,0 +1,28 @@
+/*
+ * 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.provider;
+
+import org.apache.dubbo.config.annotation.DubboService;
+import org.apache.dubbo.samples.DemoService;
+
+@DubboService
+public class DemoServiceImpl implements DemoService {
+ @Override
+ public String sayHello(String name) {
+ return "hello, "+ name;
+ }
+}
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/ProviderApplication.java
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/ProviderApplication.java
new file mode 100644
index 00000000..c1c02a3a
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/java/org/apache/dubbo/samples/provider/ProviderApplication.java
@@ -0,0 +1,32 @@
+/*
+ * 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.provider;
+
+import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@EnableDubbo
+@SpringBootApplication
+public class ProviderApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(ProviderApplication.class, args);
+ }
+
+}
diff --git
a/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/resources/application.properties
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/resources/application.properties
new file mode 100644
index 00000000..7eaaf9f1
--- /dev/null
+++
b/10-task/dubbo-samples-rpc-basic/dubbo-samples-rpc-basic-provider/src/main/resources/application.properties
@@ -0,0 +1,24 @@
+# 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.
+
+# Specify the application name of Dubbo
+dubbo.application.name=provider
+
+# Enable token verification for each invocation
+dubbo.provider.token=true
+
+# Specify the registry address
+# dubbo.registry.address=nacos://localhost:8848?username=nacos&password=nacos
+dubbo.registry.address=nacos://${nacos.address:localhost}:8848?username=nacos&password=nacos
diff --git a/10-task/dubbo-samples-rpc-basic/pom.xml
b/10-task/dubbo-samples-rpc-basic/pom.xml
new file mode 100644
index 00000000..09834404
--- /dev/null
+++ b/10-task/dubbo-samples-rpc-basic/pom.xml
@@ -0,0 +1,36 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-samples-rpc-basic</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Basic RPC Task</name>
+ <description>Dubbo Samples Basic RPC Task</description>
+
+ <modules>
+ <module>dubbo-samples-rpc-basic-api</module>
+ <module>dubbo-samples-rpc-basic-consumer</module>
+ <module>dubbo-samples-rpc-basic-provider</module>
+ </modules>
+</project>
\ No newline at end of file
diff --git a/10-task/dubbo-samples-shop/pom.xml
b/10-task/dubbo-samples-shop/pom.xml
new file mode 100644
index 00000000..fa1ff0be
--- /dev/null
+++ b/10-task/dubbo-samples-shop/pom.xml
@@ -0,0 +1,32 @@
+<?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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>dubbo-samples-shop</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Shop Task</name>
+ <description>Dubbo Samples Shop Task</description>
+
+
+</project>
\ No newline at end of file
diff --git a/10-task/pom.xml b/10-task/pom.xml
new file mode 100644
index 00000000..b141237d
--- /dev/null
+++ b/10-task/pom.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.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+
+ <groupId>org.apache.dubbo</groupId>
+ <artifactId>10-task</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0-SNAPSHOT</version>
+
+ <name>Task</name>
+ <description>Dubbo Learning Task</description>
+
+ <modules>
+ <module>dubbo-samples-rpc-basic</module>
+ <module>dubbo-samples-rpc-advanced</module>
+ <module>dubbo-samples-shop</module>
+ </modules>
+</project>
\ No newline at end of file
diff --git a/3-extensions/protocol/dubbo-samples-rest/pom.xml
b/3-extensions/protocol/dubbo-samples-rest/pom.xml
index aeddd5e8..81afec76 100644
--- a/3-extensions/protocol/dubbo-samples-rest/pom.xml
+++ b/3-extensions/protocol/dubbo-samples-rest/pom.xml
@@ -213,10 +213,15 @@
</plugins>
</pluginManagement>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-war-plugin</artifactId>
+ <version>3.3.2</version>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.7.0</version>
+ <version>3.10.1</version>
<configuration>
<source>${source.level}</source>
<target>${target.level}</target>
diff --git a/pom.xml b/pom.xml
index 9ac3da2b..9694a26f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -42,6 +42,7 @@
<module>2-advanced</module>
<module>3-extensions</module>
<module>4-governance</module>
+ <module>10-task</module>
<module>99-integration</module>
</modules>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]