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基本特性之泛化调用

dubbo源码阅读-Filter默认实现之ExceptionFilter

Dubbo3高级特性「框架与服务」Dubbo3客户端和服务端的泛化调用机制体系

dubbo泛化调用

Dubbo -- 系统学习 笔记 -- 示例 -- 泛化引用

dubbo泛化调用 2.7.3版本升到2.7.6版本 泛化调用报null指针