分享

dubbo(一)集成spring-mvc4

 关平藏书 2018-01-12

SOA服务化治理方案的框架,现在比较流行的就是dubbo和spring-cloud

dubbo在国内的使用范围非常广泛,很多大公司的cto都是从阿里出来的.

dubbo一个分布式、高性能、透明化的RPC服务框架,提供服务自动注册、自动发现等高效服务治理方案

dubbo-1.png

dubbo-2.png

关于dubbo的介绍,请参照官方网站 http://

这里就在官方介绍的基础上进行代码示例

框架版本 spring-mvc4,dubbo-2.8.4

代码截个图如下

dubbo-3.png

在项目 tm-dubbo-api 编写接口

  1. public interface UserApi {
  2. String userInfo(Integer id);
  3. }

在项目 tm-dubbo-provider 编写服务提供方

配置 spring-dubbo-provider.xml

  1. <dubbo:application name="tm-dubbo-provider"/>
  2. <dubbo:registry address="multicast://224.5.6.7:1234"/>
  3. <dubbo:protocol name="dubbo" />
  4. <dubbo:service interface="cn.majingjing.tm.UserApi" ref="UserApi" protocol="dubbo"/>
  5. <bean id="UserApi" class="cn.majingjing.tm.UserApiService" />

实现逻辑 UserApiService.java

  1. public class UserApiService implements UserApi {
  2. @Override
  3. public String userInfo(Integer id) {
  4. return USERS.get(id.hashCode() % USERS.size());
  5. }
  6. private static final List<String> USERS = new ArrayList<>();
  7. static {
  8. USERS.add("唐僧");
  9. USERS.add("八戒");
  10. USERS.add("悟空");
  11. USERS.add("沙僧");
  12. }
  13. }

在项目 tm-dubbo-consumer 编写服务消费方

配置 spring-dubbo-consumer.xml

  1. <dubbo:application name="tm-dubbo-consumer"/>
  2. <dubbo:registry address="multicast://224.5.6.7:1234"/>
  3. <dubbo:reference id="userApi" interface="cn.majingjing.tm.UserApi"/>

调用逻辑 UserController.java

  1. @RestController
  2. public class UserController {
  3. @Autowired
  4. private UserApi userApi;
  5. @RequestMapping("/dubbo/t1")
  6. public Object t1(Integer id) {
  7. String name = userApi.userInfo(id);
  8. System.out.println(name);
  9. return name;
  10. }
  11. }

将项目部署到不同的tomcat下,并分别启动,在浏览器上访问
http://localhost:8080/tm-dubbo-consumer/dubbo/t1?id=5

dubbo-4.png

到此一个简单的dubbo和springmvc4的集成就完成了.

源代码地址: http://git.oschina.net/majinding/tm-dubbo/tree/tag-v1.0.1

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多