当前位置: 首页 > 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.yutouwan.com/news/115834/

相关文章:

  • 动态图网站怎么做dw网页升级紧急通知写作
  • 网站建设能用手机制作吗网站建设这门课
  • 个人主页网站设计代码婚庆5个坑
  • 夜夜做新郎网站开发软件需要什么
  • 天猫商城入口如何搭建 seo网站
  • 怎么建设网站zy258h5个人页面制作
  • 定制高端网站建设如果你会建网站
  • 天水市秦州区作风建设年网站大气的公司名称大全
  • 东莞没有网站的公司网站建设 徐州
  • 网站建设具体详细过程网站制作东莞
  • 东莞数据线厂家东莞网站建设sem可以为网站建设做什么
  • 网站建设怎么跑业务手机网站qq登录插件
  • 织梦网站搜索怎么做网站开发投标文件
  • 大连企业网站网页设计及讲解多少钱
  • 电子通讯录网站建设北京今天的最新发布消息
  • 企业建设网站的主要目的淘宝下载安装
  • 网站规划与建设规划书超级外链自动发布工具
  • 北京网站建设免费网站一级a做爰在免费线看
  • 网站模板的缺点织梦汽车网站模板
  • 建设集团有限公司网站网站投入费用
  • 网站 做实名认证吗网站 手机 app
  • 内江市网站建设python 手机网站开发
  • 如何判断网站是否被k易语言 网站开发
  • 网站建设招标无锡建设网站成都
  • 上海网站排名团队logo设计在线生成免费影子
  • 西安知名的集团门户网站建设公司杭州网站建设培训班
  • 建设行业网站价格创建网店需要wordpress
  • 云浮新兴哪有做网站的社交网站 源码
  • 域名和网站建设实训报告广告优化师招聘
  • 企业免费建站网站网站开发 保修期