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

阿里巴巴网站建设哪家好阿里云域名查询和注册

阿里巴巴网站建设哪家好,阿里云域名查询和注册,做教案找资料有哪些网站,市北网站建设​ 一般情况我们使用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.huolong8.cn/news/115834/

相关文章:

  • 国内优秀网站设计欣赏松江做公司网站
  • 外贸企业网站系统源码加强网站建设的建议
  • 淄博网站营销与推广研发地网站建设
  • 中劵资本集团股票交易网站建设中媒约网网址是多少
  • 科技网站建设的调研苏州注册公司流程和费用
  • 厦门做网页网站的公司wordpress feed插件
  • 做企业网站要注意什么wordpress添加< iframe>
  • 投资做个app要多少钱淘宝seo排名优化软件
  • 邯郸建设网站公司wordpress 如果
  • 淘宝客网站需要多大空间陕西 汽车 网站建设
  • 网站权限分配 数据库实现餐饮营销型网站案例
  • 长春网站制作系统手机如何访问电脑做的asp网站
  • 深圳医疗网站建设报价城口自助建站
  • 网站地图案例上海杨浦区网站建设
  • 网站 建设 申请报告模板网站建设代理商
  • 软件下载网站整站源码wordpress内容替换
  • 做网站如何防止被骗江苏建设工程集团
  • 环保网站开发维护一个网站的安全
  • 林河西网站建设wordpress后台密码破解
  • 北京网站优化托管wap自助建站模块
  • 网站的收录情况怎么查网上商城开发需求
  • 个人网站开论坛wordpress学校站模板
  • 重庆巴南区网站建设网站建设九步走
  • 网站简历导出义乌市做网站
  • 网页与网站设计说明多开商城
  • 东莞网页制作林西网站建设优化
  • 仓山网站建设怎样进入谷歌网站
  • 如何让百度收录中文域名网站广元做开锁网站
  • 免费的企业黄页网站wordpress页眉显示购物车
  • 有阿里云的主机了怎么做网站温州营销网站公司电话