当前位置: 首页 > news >正文

国外免费建站免费上线个人网站

国外免费建站,免费上线个人网站,上海有色金属门户网站,wordpress付费查看视频​ 一般情况我们使用dubbo)通过rpc调用dubbo提供方的服务#xff0c;首先要在消费者的项目中引入接口提供者的jar包#xff08;provider端暴露的接口和方法#xff09;#xff0c;然后使用jar包里面的类和方法#xff0c;两端才能正常通信调用。但是如果要调N个不同服务提…​ 一般情况我们使用dubbo)通过rpc调用dubbo提供方的服务首先要在消费者的项目中引入接口提供者的jar包provider端暴露的接口和方法然后使用jar包里面的类和方法两端才能正常通信调用。但是如果要调N个不同服务提供者的接口就要引入N个jar包这时候消费者项目有N多个dubbo提供者的jar项目就会耦合。我们可以用dubbo的泛化实现调用dubbo服务泛化调用不需要引入provider提供的jar即可实现远程调用,降低耦合。 ​ 但是一般提供好的jar是不会再修改里面的接口方法的即使修改也要尽量向下兼容兼容之前版本的接口不然这个jar被很多客户端引入的话那么他们都要修改,在jar里面提供好了dubbo接口的方法和参数其他客户端引入就可以调用所以还是引jar的方式调dubbo接口比较方便不过我这里记录一下不引入jar的调用dubbo接口的笔记 注 底层原理跟普通的RPC调用是一致的网络、序列化、反射这些底层技术一致。区别就在于参数和返回值中所有的POJO都用Map表示。通过GenericService来调用所有的服务实现。 GenericService 这个接口只有一个方法名为 $invoke它接受三个参数分别为方法名、方法参数类型数组和参数值数组 对于方法参数类型数组如果是基本类型如 int 或 long可以使用 int.class.getName()获取其类型 如果是基本类型数组如 int[]则可以使用 int[].class.getName() 如果是 POJO则直接使用全类名如 com.xinlin.model.xxxPOJO 注这个全类名是指dubbo服务提供方provider的接口的参数的POJO的全类名 例子 1.在dubbo的服务提供方写一个查询用户信息的服务 Service public class DubboUserService implements IDubboUserService {Overridepublic UserVO getUser( UserDTO userDTO) {UserVO user new UserVO();user.setName(xinlin);user.setId(1);return user;} }2.在dubbo的消费者中配置获取这个用户信息的泛化的服务 Configuration public class DubboUserServiceConfig {Beanpublic GenericService dubboUserService(ApplicationConfig applicationConfig, RegistryConfig registryConfig){ReferenceConfigGenericService reference new ReferenceConfigGenericService();reference.setApplication(applicationConfig);reference.setRegistry(registryConfig);// 设置调用的reference属性下面只设置了协议、接口名、版本、超时时间reference.setProtocol(dubbo);reference.setInterface(cn.com.xinlin.service.IDubboUserService); // reference.setVersion(1.0.0);reference.setTimeout(2000);// 声明为泛化接口reference.setGeneric(true);// GenericService可以接住所有的实现GenericService genericService reference.get();return genericService;} }3.在dubbo消费者的controller中注入这个泛化的dubbo服务 Controller RequestMapping(/demo) public class DemoController {// generic true 声明为泛化接口AutowiredGenericService dubboUserService;/*** 泛化调用* return*/ResponseBodyRequestMapping(value /getUser)public Map getUser(){//构造参数,用Map表示POJO参数如果返回值为POJO也将自动转成MapMapString, Object userDTO new HashMap();userDTO.put(age, 25);userDTO.put(name, b);Object result dubboUserService.$invoke(getUser,new String[]{cn.com.xinlin.model.dto.UserDTO},new Object[]{userDTO});return (Map)result;} }4.在浏览器测试调用调试可以看到成功调用了dubbo服务这个过程并没有引入一个dubbo提供方的jar包即可实现远程调用dubbo的服务 注 优点降低耦合 缺点也明显参数传递麻烦需要显示指定方法名称、参数。 dubbo不需要注册中心也可以指定点对点调用服务 有时候本地开发测试的时候总不能每次都放到测试环境才去测在Reference注解的url写本地的dubbo服务的localhost端口即可连上例url“dubbo://localhost:20880”先启动本地的dubbo服务如果本地的dubbo服务提供者连不上注册中心的话在application.propertites加上这行配置禁止向注册中心注册就可以了 dubbo.registry.registerfalseReference(timeout 3000,urldubbo://localhost:20880) IDubboDemoService dubboDemoService;
http://www.pierceye.com/news/294670/

相关文章:

  • 网站后台中小型网站建设的基本流程
  • 一键做网站的软件爱互融网站开发合同
  • 平顶山市哪里有做网站的高端的扬中网站建设
  • 网站定制电话如何自己开公众号
  • app开发网站建设及开发专业济南网站建设价格
  • 网站建设新闻分享免费制作网站app
  • 海口网站建设高端wordpress 论坛那
  • 谁能帮我做网站百度推广登录平台怎么收费
  • 有关于网站建设的论文如何开发一个微信公众号
  • 深圳网站建制作网上写文章用什么软件
  • 网站模版自适应网站建设全包方案
  • 广州网站建设鞍山家电网站首页制作
  • 西安注册公司网站网站建设找a金手指
  • 浙江省住房和城乡建设厅网站打不开设计书籍频道开放说明
  • 阿里巴巴 网站建设遵义网警
  • 宁夏建设厅网站官网如何做DJ网站
  • 龙岩做网站公司哪家好erp系统与网站对接长沙
  • 做二手房需要用到哪些网站搜集房源找人做设计的网站
  • 建设银行河北分行招聘网站可以下载新闻视频的网站
  • 凡客官网旗舰店襄阳seo关键词优化公司
  • 区域门户网站源码健身网站建设
  • 动漫网站建设赚钱吗三端互通传奇手游开服列表
  • 网站建设前的需求分析手机免费制作网站模板免费下载
  • 网站兼容ie7接私活做网站要不要签合同
  • 广州网站建设首选快优wordpress拖拽建站
  • 网站开发 播放音频amr个人网站设计案例
  • 建设一个网站可以采用那几方案常用的网页制作工具有什么
  • 摄影看图网站河南省交通工程造价信息网
  • 网站架构发展历程的思考和心得体会软件开发网站开发培训
  • 陕西天工建设有限公司网站长安网站建设哪家好