From 2a2720e6febc75ef031b3e26d3dcad7be0b87df8 Mon Sep 17 00:00:00 2001 From: YunaiV <> Date: Tue, 9 Jun 2020 21:05:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20SOFARPC=20=E5=85=A5?= =?UTF-8?q?=E9=97=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pom.xml | 14 +++++ .../lab62/rpc/api/UserRpcService.java | 27 +++++++++ .../springboot/lab62/rpc/dto/UserAddDTO.java | 37 ++++++++++++ .../springboot/lab62/rpc/dto/UserDTO.java | 49 ++++++++++++++++ .../pom.xml | 45 +++++++++++++++ .../lab62/rpc/ConsumerApplication.java | 16 ++++++ .../lab62/rpc/controller/UserController.java | 23 ++++++++ .../src/main/resources/application.yaml | 5 ++ .../src/main/resources/sofarpc.xml | 16 ++++++ .../pom.xml | 56 +++++++++++++++++++ .../lab62/rpc/ProviderApplication.java | 16 ++++++ .../lab62/rpc/service/UserRpcServiceImpl.java | 24 ++++++++ .../src/main/resources/application.yaml | 5 ++ .../src/main/resources/sofarpc.xml | 16 ++++++ lab-62/lab-62-sofarpc-xml-demo/pom.xml | 20 +++++++ 15 files changed, 369 insertions(+) create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/pom.xml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/api/UserRpcService.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserAddDTO.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserDTO.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/pom.xml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/ConsumerApplication.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/controller/UserController.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/sofarpc.xml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/pom.xml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/ProviderApplication.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/service/UserRpcServiceImpl.java create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/sofarpc.xml create mode 100644 lab-62/lab-62-sofarpc-xml-demo/pom.xml diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/pom.xml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/pom.xml new file mode 100644 index 00000000..86274d12 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/pom.xml @@ -0,0 +1,14 @@ + + + + lab-62-sofarpc-xml-demo + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-62-sofarpc-xml-demo-user-rpc-service-api + + diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/api/UserRpcService.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/api/UserRpcService.java new file mode 100644 index 00000000..b79c3f12 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/api/UserRpcService.java @@ -0,0 +1,27 @@ +package cn.iocoder.springboot.lab62.rpc.api; + +import cn.iocoder.springboot.lab62.rpc.dto.UserAddDTO; +import cn.iocoder.springboot.lab62.rpc.dto.UserDTO; + +/** + * 用户服务 RPC Service 接口 + */ +public interface UserRpcService { + + /** + * 根据指定用户编号,获得用户信息 + * + * @param id 用户编号 + * @return 用户信息 + */ + UserDTO get(Integer id); + + /** + * 添加新用户,返回新添加的用户编号 + * + * @param addDTO 添加的用户信息 + * @return 用户编号 + */ + Integer add(UserAddDTO addDTO); + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserAddDTO.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserAddDTO.java new file mode 100644 index 00000000..f0840f1c --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserAddDTO.java @@ -0,0 +1,37 @@ +package cn.iocoder.springboot.lab62.rpc.dto; + +import java.io.Serializable; + +/** + * 用户添加 DTO + */ +public class UserAddDTO implements Serializable { + + /** + * 昵称 + */ + private String name; + /** + * 性别 + */ + private Integer gender; + + public String getName() { + return name; + } + + public UserAddDTO setName(String name) { + this.name = name; + return this; + } + + public Integer getGender() { + return gender; + } + + public UserAddDTO setGender(Integer gender) { + this.gender = gender; + return this; + } + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserDTO.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserDTO.java new file mode 100644 index 00000000..d9b70074 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab62/rpc/dto/UserDTO.java @@ -0,0 +1,49 @@ +package cn.iocoder.springboot.lab62.rpc.dto; + +import java.io.Serializable; + +/** + * 用户信息 DTO + */ +public class UserDTO implements Serializable { + + /** + * 用户编号 + */ + private Integer id; + /** + * 昵称 + */ + private String name; + /** + * 性别 + */ + private Integer gender; + + public Integer getId() { + return id; + } + + public UserDTO setId(Integer id) { + this.id = id; + return this; + } + + public String getName() { + return name; + } + + public UserDTO setName(String name) { + this.name = name; + return this; + } + + public Integer getGender() { + return gender; + } + + public UserDTO setGender(Integer gender) { + this.gender = gender; + return this; + } +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/pom.xml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/pom.xml new file mode 100644 index 00000000..d50fd999 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/pom.xml @@ -0,0 +1,45 @@ + + + + + + + com.alipay.sofa + sofaboot-dependencies + 3.3.2 + + 4.0.0 + + lab-62-sofarpc-xml-demo-user-rpc-service-consumer + + + + + cn.iocoder.springboot.labs + lab-62-sofarpc-xml-demo-user-rpc-service-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + + + com.alipay.sofa + rpc-sofa-boot-starter + + + + + org.apache.curator + curator-framework + + + + + diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/ConsumerApplication.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/ConsumerApplication.java new file mode 100644 index 00000000..63b8f478 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/ConsumerApplication.java @@ -0,0 +1,16 @@ +package cn.iocoder.springboot.lab62.rpc; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ImportResource; + +@SpringBootApplication +@ImportResource("classpath:sofarpc.xml") +public class ConsumerApplication { + + public static void main(String[] args) { + // 启动 Spring Boot 应用 + SpringApplication.run(ConsumerApplication.class, args);; + } + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/controller/UserController.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/controller/UserController.java new file mode 100644 index 00000000..93cc320c --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab62/rpc/controller/UserController.java @@ -0,0 +1,23 @@ +package cn.iocoder.springboot.lab62.rpc.controller; + +import cn.iocoder.springboot.lab62.rpc.api.UserRpcService; +import cn.iocoder.springboot.lab62.rpc.dto.UserDTO; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequestMapping("/user") +public class UserController { + + @Autowired + private UserRpcService userRpcService; + + @GetMapping("/get") + public UserDTO get(@RequestParam("id") Integer id) { + return userRpcService.get(id); + } + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml new file mode 100644 index 00000000..f856006a --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml @@ -0,0 +1,5 @@ +spring: + application: + name: user-service-consumer # 应用名 + +com.alipay.sofa.rpc.registry.address: zookeeper://127.0.0.1:2181 # SOFA RPC 注解中心 diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/sofarpc.xml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/sofarpc.xml new file mode 100644 index 00000000..2437f5d5 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-consumer/src/main/resources/sofarpc.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/pom.xml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/pom.xml new file mode 100644 index 00000000..91819670 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/pom.xml @@ -0,0 +1,56 @@ + + + + + + + com.alipay.sofa + sofaboot-dependencies + 3.3.2 + + 4.0.0 + + lab-62-sofarpc-xml-demo-user-rpc-service-provider + + + + + + + + + + + + + + + + cn.iocoder.springboot.labs + lab-62-sofarpc-xml-demo-user-rpc-service-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter + + + + + com.alipay.sofa + rpc-sofa-boot-starter + + + + + org.apache.curator + curator-framework + + + + + diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/ProviderApplication.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/ProviderApplication.java new file mode 100644 index 00000000..d2aef278 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/ProviderApplication.java @@ -0,0 +1,16 @@ +package cn.iocoder.springboot.lab62.rpc; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ImportResource; + +@SpringBootApplication +@ImportResource("classpath:sofarpc.xml") +public class ProviderApplication { + + public static void main(String[] args) { + // 启动 Spring Boot 应用 + SpringApplication.run(ProviderApplication.class, args); + } + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/service/UserRpcServiceImpl.java b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/service/UserRpcServiceImpl.java new file mode 100644 index 00000000..d56a0b12 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab62/rpc/service/UserRpcServiceImpl.java @@ -0,0 +1,24 @@ +package cn.iocoder.springboot.lab62.rpc.service; + + +import cn.iocoder.springboot.lab62.rpc.api.UserRpcService; +import cn.iocoder.springboot.lab62.rpc.dto.UserAddDTO; +import cn.iocoder.springboot.lab62.rpc.dto.UserDTO; +import org.springframework.stereotype.Service; + +@Service +public class UserRpcServiceImpl implements UserRpcService { + + @Override + public UserDTO get(Integer id) { + return new UserDTO().setId(id) + .setName("没有昵称:" + id) + .setGender(id % 2 + 1); // 1 - 男;2 - 女 + } + + @Override + public Integer add(UserAddDTO addDTO) { + return (int) (System.currentTimeMillis() / 1000); // 嘿嘿,随便返回一个 id + } + +} diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml new file mode 100644 index 00000000..11f12a3d --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml @@ -0,0 +1,5 @@ +spring: + application: + name: user-service-provider # 应用名 + +com.alipay.sofa.rpc.registry.address: zookeeper://127.0.0.1:2181 # SOFA RPC 注解中心 diff --git a/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/sofarpc.xml b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/sofarpc.xml new file mode 100644 index 00000000..3e96aebd --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/lab-62-sofarpc-xml-demo-user-rpc-service-provider/src/main/resources/sofarpc.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + diff --git a/lab-62/lab-62-sofarpc-xml-demo/pom.xml b/lab-62/lab-62-sofarpc-xml-demo/pom.xml new file mode 100644 index 00000000..744ec1c4 --- /dev/null +++ b/lab-62/lab-62-sofarpc-xml-demo/pom.xml @@ -0,0 +1,20 @@ + + + + lab-62 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-62-sofarpc-xml-demo + pom + + lab-62-sofarpc-xml-demo-user-rpc-service-api + lab-62-sofarpc-xml-demo-user-rpc-service-provider + lab-62-sofarpc-xml-demo-user-rpc-service-consumer + + +