dolphinscheduler服务RPC框架源码解析(五)RPC提供者服务调用真实方法实现

news/2024/12/18 16:04:46/

RPC服务提供者的设计实现

  • 1.概述
  • 2.RPC提供者服务调用真实方法设计
  • 3.RPC服务提供者调用真实方法实现
    • 3.1.工程结构
    • 3.1.RPC提供者服务调用真实方法入口类JdkDynamicServerHandler
    • 3.2. ServerMethodInvokerImpl类反射方法调用
  • 4.总结

1.概述

上一篇文章我们已经看过了RPC提供者服务的核心实现,知道了提供者服务如何创建、初始化、启动以及收发消息的处理流程,那么RPC提供者服务的核心实现到底是怎么实现真实方法调用的呢?那么本篇文章我们主要看看RPC提供者服务调用真实方法的具体实现。

2.RPC提供者服务调用真实方法设计

这里不卖关子, 直接给出结论,Dolphinscheduler中RPC提供者服务调用真实方法用的就是 JAVA的反射技术

以下是RPC提供者服务的核心实现类关系,本篇文章主要说的是关于RPC服务提供者调用真实方法,主要还是再下图中绿色背景的那一部分。
在这里插入图片描述

可能图片不太清楚,这里把那块的局部区域单独放一张图片
在这里插入图片描述
由上图可以看出:
程序中定义了一个ServermethodInvoker接口,在ServermethodInvoker接口中定义了一个方法invoke


http://www.ppmy.cn/news/1556154.html

相关文章

MybatisPlus--mybatis升级版

一、快速入门 1.引入MybatisPlus的起步依赖 mybatisPlus官方提供了starter。其中集成了Mybatis和MybatisPlus的所有功能,对mybatis实现了润物无声,并且实现了自动装配效果。 因此使用了Mybatis的项目,也可以使用MybatisPlus的starter代替M…

我们来对接蓝凌OA --报文格式

题记 数智化办公专家、国家高新技术企业、知识管理国家标准制定者、信创供应商10强…等等,这些和咱们有关系吗!!不好意思,走错片场了,刚和项目经理在甲方那边吹牛B想想刚刚的大饼,看看支付宝余额&#xff…

Greenhills Lib操作-查看Lib信息与将lib中的data段link到指定区域

文章目录 前言Greenhillls中gsize的用法修改ld文件将lib中的data段指定区域示例定义与链接总结 前言 项目开发过程中,遇到客户开发ASW,提供Lib进行集成,但ASW中的标定量没有定义对应的data段,导致无法将标定量指定到特定的内存。…

数据结构之栈和队列算法题

一&#xff1a;有效括号数 学了栈之后这一题就比较简单了。 思路&#xff1a;1、左括号进栈 2、右括号出栈匹配。 完整代码&#xff1a; 因为使用C语言写的&#xff0c;所以里面包含了栈的实现 #include<stdio.h> #include<stdlib.h> #include<assert.h>…

C语言基础-字符数组与字符串

字符数组 概念 元素类型为char字符型的数组&#xff0c;字符数组往往是用来存储字符串数据的。C语言中&#xff0c;字符是字节字符。 字节字符&#xff1a;一个字符占一个字节&#xff0c;在C语言中&#xff0c;使用char表示字节 char a A; char b 1; char c 65; //以上…

【AI知识】有监督学习分类任务之支持向量机

1.支持向量机概念 支持向量机&#xff08;Support Vector Machine, SVM&#xff09; 是一种有监督学习算法&#xff0c;主要用于分类任务&#xff08;也可用于回归任务&#xff0c;即支持向量回归&#xff0c;SVR&#xff09;。SVM的核心思想是找到一个最优的超平面&#xff0…

/bin/bash^M: 解释器错误:没有那个文件或目录(bad interpreter: No such file or directiry)

/bin/bash^M: 解释器错误&#xff1a;没有那个文件或目录&#xff08;bad interpreter: No such file or directiry&#xff09; 问题描述 运行脚本时报错如下&#xff1a; /bin/bash^M: 解释器错误&#xff1a;没有那个文件或目录&#xff08;bad interpreter: No such file…

【ubuntu18.04】ubuntu18.04挂在硬盘出现 Wrong diagnostic page; asked for 1 got 8解决方案

错误日志 [ 8754.700227] usb 2-3: new full-speed USB device number 3 using xhci_hcd [ 8754.867389] usb 2-3: New USB device found, idVendor0e0f, idProduct0002, bcdDevice 1.00 [ 8754.867421] usb 2-3: New USB device strings: Mfr1, Product2, SerialNumber0 [ 87…