dubbo之泛化实现
Posted jmbkeyes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dubbo之泛化实现相关的知识,希望对你有一定的参考价值。
实现泛化调用
泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况,参数及返回值中的所有 POJO 均用 Map
表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过 GenericService
调用所有服务实现。
通过 Spring 实现泛化调用
在 Spring 配置申明服务的实现:
<bean id="genericService" class="com.foo.MyGenericService" />
<dubbo:service interface="com.foo.BarService" ref="genericService" />
在 Java 代码中实现 GenericService
接口:
package com.foo;
public class MyGenericService implements GenericService {
public Object $invoke(String methodName, String[] parameterTypes, Object[] args) throws GenericException {
if ("sayHello".equals(methodName)) {
return "Welcome " + args[0];
}
}
}
以上是关于dubbo之泛化实现的主要内容,如果未能解决你的问题,请参考以下文章
dubbo源码阅读-Filter默认实现之ExceptionFilter
Dubbo3高级特性「框架与服务」Dubbo3客户端和服务端的泛化调用机制体系