`
y806839048
  • 浏览: 1081571 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

dubbo泛化--可以集成dubbo系统的使用

阅读更多

泛化调用,无需业务接口类进行远程调用,用于测试平台,开放网关桥接等(可用于生产环境)

 泛化调用也可做回声测试genericService.$echo(ok);

 

 

说明:泛化引用主要是针对服务消费者,服务提供方正常暴露服务即可,无须做任何修改。

 

用途:泛接口调用方式主要用于客户端没有API接口及模型类元(但是可以集成dubbo)的情况,参数及返回值中的所有POJO均用Map表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过GenericService调用所有服务实现。

 

 

 

好处:无须将model和api暴露出去,服务消费方只需要知道调用的接口名称、方法名、参数、参数类型等等就可以实现远程调用。

 

 

 

简单Demo:

 

 

 

(1)API(在泛化引用的情况下,不暴露给消费者):

 

public interface IMenusService {

public String test(String id);

}

 

(2)服务提供者(接口实现):

 

public class IndexMenusServiceImpl implements IMenusService {

@Override

public String test(String id) {

return id + "测试";

}

}

 

 (3)在服务消费方配置:

 

<!--   generic="true" 声明为泛化引用-->

<dubbo:reference  id="genericService" interface="com.sic777.modules.menus.service.IMenusService"   generic="true" />

 

(4)调用(基于SpringMvc):

 

基本类型以及Date,List,Map等不需要转换,直接调用:

 

@Controller

@RequestMapping("generic")

public class GenericAction {

@Resource

private GenericService genericService;  //GenericService dubbo泛化类,genericService我们定义的业务接口名称(接口名)

 

@ResponseBody

@RequestMapping("getGeneric")

public String Generic(){

// 基本类型以及Date,List,Map等不需要转换,直接调用

Object result = genericService.$invoke("test", new String[] { "java.lang.String" }, new Object[] { "2" });// 如果返回POJO将自动转成Map 

return result.toString();

}

}

如果是POJO参数

 

// 用Map表示POJO参数,如果返回值为POJO也将自动转成Map 

Map<String, Object> menus = new HashMap<String, Object>();

menus.put("menuSeq", "222");

menus.put("menuName", "远程测试");

// 如果返回POJO将自动转成Map 

Object result = genericService.$invoke("getMenusModel", new String[] { "com.sic777.modules.menus.model.Menus" }, new Object[] { menus });

这样就能够在客户端没有API接口及模型类元的情况下远程调用服务。

 

分享到:
评论

相关推荐

    dubbo-dubbo-2.7.3.rar

    dubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo-2.7.3.rardubbo源码dubbo-dubbo...

    dobbo源码dubbo-dubbo-2.7.3.rar

    dobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo-2.7.3.rardobbo源码dubbo-dubbo...

    dubbo-admin-2.5.4.war

    dubbo-admin-2.5.4提供支持JDK1.7及JDK1.8的War包 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看...

    jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar

    jmeter的dubbo插件,jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar,适用于JMeter5.4.1版本,将解压后的文件jmeter-plugins-dubbo-2.7.8-jar-with-dependencies放在Jmeter安装目录下的\lib\ext文件夹中,...

    dubbo-demo-consumer、dubbo-demo-provider、dubbo-simple-monitor

    dubbo-demo-consumer、dubbo-demo-provider、dubbo-simple-monitor实例服务

    dubbo-monitor-simple-2.5.8

    Dubbo的源代码打包,dubbo-monitor-simple-2.5.8 本人亲测,可以编译通过。

    jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar

    jmeter-plugins-dubbo with-dependencies jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar

    dubbo-admin-2.5.4.war后台管理

    dubbo-admin-2.5.4.war管理控制台,进过测试,可以用,有需要的朋友请下载

    dubbo-admin-2.8.4

    dubbo-admin-2.8.4。后台管理工具,直接放在tomcat中运行。

    dubbo-monitor-simple-2.6.1.tgz

    dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。 dubbo-monitor-simple是Alibaba的开源项目,用于监控在dubbo框架下接口暴露,注册情况,也可以看接口的调用...

    dubbo-admin-2.5.4及dubbo-monitor-2.5.3 安装及配置

    dubbo-admin安装要点: 1.清空tomcat/webapps/ROOT目录 2.将包解压到tomcat/webapps/ROOT下 3.修改tomcat/webapps/ROOT/WEB-INF/dubbo.properties 文件 dubbo.registry.address dubbo接口服务注册地址: 单机...

    jmeter-plugins-dubbo-2.7.1-jar-with-dependencies

    jmeter-plugins-dubbo-2.7.1-jar-with-dependencies 系统压测工具包

    dubbo-admin-2.5.5.war

    dubbo-admin打包后的文件,扔到tomcat里就能跑起来!dubbo-admin打包后的文件,扔到tomcat里就能跑起来!dubbo-admin打包后的文件,扔到tomcat里就能跑起来!

    可用的dubbo-admin-2.5.3.war工具

    可用的dubbo-admin-2.5.3.war工具,亲测可用。dubbo-admin-2.5.3.war,源码编辑的war包,注意是jdk1.8以下。本地环境默认安装zookeeper后可放到tomcat下直接运行。

    incubator-dubbo-dubbo-2.6.1

    incubator-dubbo-dubbo-2.6.1

    dubbo监控中心dubbo-monitor-simple

    该包为dubbo-monitor,使用方法请参见博文 《Dubbo进阶(五)—— dubbo-monitor-simple使用》 https://blog.csdn.net/sunhuaqiang1/article/details/80141478

    incubator-dubbo-ops-master.rar

    incubator-dubbo-ops-master.rar dubbo-admin 控制台 与 dubbo-monitor-simple 可视化监控

Global site tag (gtag.js) - Google Analytics