diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/pom.xml b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/pom.xml new file mode 100644 index 000000000..f09acb3e9 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/pom.xml @@ -0,0 +1,14 @@ + + + + lab-63-motan-annotations-demo + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-63-motan-annotations-demo-user-rpc-service-api + + diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/api/UserRpcService.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/api/UserRpcService.java new file mode 100644 index 000000000..158785180 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/api/UserRpcService.java @@ -0,0 +1,27 @@ +package cn.iocoder.springboot.lab63.rpc.api; + +import cn.iocoder.springboot.lab63.rpc.dto.UserAddDTO; +import cn.iocoder.springboot.lab63.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-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserAddDTO.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserAddDTO.java new file mode 100644 index 000000000..292297614 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserAddDTO.java @@ -0,0 +1,37 @@ +package cn.iocoder.springboot.lab63.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-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserDTO.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserDTO.java new file mode 100644 index 000000000..b6941d1ee --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-api/src/main/java/cn/iocoder/springboot/lab63/rpc/dto/UserDTO.java @@ -0,0 +1,49 @@ +package cn.iocoder.springboot.lab63.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-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/pom.xml b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/pom.xml new file mode 100644 index 000000000..ed4de02dc --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/pom.xml @@ -0,0 +1,71 @@ + + + + lab-63-motan-annotations-demo + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-63-motan-annotations-demo-user-rpc-service-consumer + + + 1.8 + 1.8 + 2.2.4.RELEASE + 1.1.8 + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + + + + + + cn.iocoder.springboot.labs + lab-63-motan-annotations-demo-user-rpc-service-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter-web + + + + + com.weibo + motan-core + ${moton.version} + + + com.weibo + motan-transport-netty4 + ${moton.version} + + + com.weibo + motan-registry-zookeeper + ${moton.version} + + + com.weibo + motan-springsupport + ${moton.version} + + + + + diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/ConsumerApplication.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/ConsumerApplication.java new file mode 100644 index 000000000..b51093c78 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/ConsumerApplication.java @@ -0,0 +1,16 @@ +package cn.iocoder.springboot.lab63.rpc; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ImportResource; + +@SpringBootApplication +@ImportResource("classpath:motan.xml") +public class ConsumerApplication { + + public static void main(String[] args) { + // 启动 Spring Boot 应用 + SpringApplication.run(ConsumerApplication.class, args);; + } + +} diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/controller/UserController.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/controller/UserController.java new file mode 100644 index 000000000..5c3f43b2a --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/java/cn/iocoder/springboot/lab63/rpc/controller/UserController.java @@ -0,0 +1,32 @@ +package cn.iocoder.springboot.lab63.rpc.controller; + +import cn.iocoder.springboot.lab63.rpc.api.UserRpcService; +import cn.iocoder.springboot.lab63.rpc.dto.UserAddDTO; +import cn.iocoder.springboot.lab63.rpc.dto.UserDTO; +import com.weibo.api.motan.config.springsupport.annotation.MotanReferer; +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 + @MotanReferer + private UserRpcService userRpcService; + + @GetMapping("/get") + public UserDTO get(@RequestParam("id") Integer id) { + return userRpcService.get(id); + } + + @GetMapping("/add") // 为了方便测试,实际使用 @PostMapping + public Integer add(@RequestParam("name") String name, + @RequestParam("gender") Integer gender) { + UserAddDTO addDTO = new UserAddDTO().setName(name).setGender(gender); + return userRpcService.add(addDTO); + } + +} diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/resources/motan.xml b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/resources/motan.xml new file mode 100644 index 000000000..ac4fcabbf --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-consumer/src/main/resources/motan.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/pom.xml b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/pom.xml new file mode 100644 index 000000000..9597fa63c --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/pom.xml @@ -0,0 +1,71 @@ + + + + lab-63-motan-annotations-demo + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-63-motan-annotations-demo-user-rpc-service-provider + + + 1.8 + 1.8 + 2.2.4.RELEASE + 1.1.8 + + + + + + org.springframework.boot + spring-boot-starter-parent + ${spring.boot.version} + pom + import + + + + + + + + cn.iocoder.springboot.labs + lab-63-motan-annotations-demo-user-rpc-service-api + 1.0-SNAPSHOT + + + + + org.springframework.boot + spring-boot-starter + + + + + com.weibo + motan-core + ${moton.version} + + + com.weibo + motan-transport-netty4 + ${moton.version} + + + com.weibo + motan-registry-zookeeper + ${moton.version} + + + com.weibo + motan-springsupport + ${moton.version} + + + + + diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java new file mode 100644 index 000000000..ec3623698 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java @@ -0,0 +1,20 @@ +package cn.iocoder.springboot.lab63.rpc; + +import com.weibo.api.motan.common.MotanConstants; +import com.weibo.api.motan.util.MotanSwitcherUtil; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.ImportResource; + +@SpringBootApplication +@ImportResource("classpath:motan.xml") +public class ProviderApplication { + + public static void main(String[] args) { + // 启动 Spring Boot 应用 + SpringApplication.run(ProviderApplication.class, args); + // 设置 Motan 开启对外服务 + MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true); + } + +} diff --git a/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/service/UserRpcServiceImpl.java b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/service/UserRpcServiceImpl.java new file mode 100644 index 000000000..3845c76b8 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/service/UserRpcServiceImpl.java @@ -0,0 +1,26 @@ +package cn.iocoder.springboot.lab63.rpc.service; + + +import cn.iocoder.springboot.lab63.rpc.api.UserRpcService; +import cn.iocoder.springboot.lab63.rpc.dto.UserAddDTO; +import cn.iocoder.springboot.lab63.rpc.dto.UserDTO; +import com.weibo.api.motan.config.springsupport.annotation.MotanService; +import org.springframework.stereotype.Service; + +@Service +@MotanService(export = "motan2:8001") +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-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/resources/motan.xml b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/resources/motan.xml new file mode 100644 index 000000000..71250dd0d --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/lab-63-motan-annotations-demo-user-rpc-service-provider/src/main/resources/motan.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + diff --git a/lab-63/lab-63-motan-annotations-demo/pom.xml b/lab-63/lab-63-motan-annotations-demo/pom.xml new file mode 100644 index 000000000..de6847d74 --- /dev/null +++ b/lab-63/lab-63-motan-annotations-demo/pom.xml @@ -0,0 +1,20 @@ + + + + lab-63 + cn.iocoder.springboot.labs + 1.0-SNAPSHOT + + 4.0.0 + + lab-63-motan-annotations-demo + pom + + lab-63-motan-annotations-demo-user-rpc-service-api + lab-63-motan-annotations-demo-user-rpc-service-provider + lab-63-motan-annotations-demo-user-rpc-service-consumer + + + diff --git a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml deleted file mode 100644 index 15227189c..000000000 --- a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - application: - name: user-service-consumer # 应用名 diff --git a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/motan.xml b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/motan.xml index 4011a4025..1120a8094 100644 --- a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/motan.xml +++ b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-consumer/src/main/resources/motan.xml @@ -4,13 +4,15 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://api.weibo.com/schema/motan http://api.weibo.com/schema/motan.xsd"> - + - - + + + diff --git a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java index db71f5416..ec3623698 100644 --- a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java +++ b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/java/cn/iocoder/springboot/lab63/rpc/ProviderApplication.java @@ -11,9 +11,9 @@ public class ProviderApplication { public static void main(String[] args) { - // 启动 Spring Boot 应用 SpringApplication.run(ProviderApplication.class, args); + // 设置 Motan 开启对外服务 MotanSwitcherUtil.setSwitcherValue(MotanConstants.REGISTRY_HEARTBEAT_SWITCHER, true); } diff --git a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml deleted file mode 100644 index 6bc94f31d..000000000 --- a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/application.yaml +++ /dev/null @@ -1,3 +0,0 @@ -spring: - application: - name: user-service-provider # 应用名 diff --git a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/motan.xml b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/motan.xml index b255d8f60..f26f1acce 100644 --- a/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/motan.xml +++ b/lab-63/lab-63-motan-xml-demo/lab-63-motan-xml-demo-user-rpc-service-provider/src/main/resources/motan.xml @@ -4,19 +4,15 @@ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://api.weibo.com/schema/motan http://api.weibo.com/schema/motan.xsd"> - - + + - - - - - - - + + diff --git a/lab-63/pom.xml b/lab-63/pom.xml index 95efef5c6..a16873b13 100644 --- a/lab-63/pom.xml +++ b/lab-63/pom.xml @@ -13,6 +13,7 @@ lab-63-motan-xml-demo + lab-63-motan-annotations-demo