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]


Reply via email to