之前介绍了通信类communication,容器类container,communication的收集类collector,今天再看一个报告类Reporter;


一、概述AbstractReporter

  1. 主要作用:Reporter的主要功能是将收集到的信息上报给上级
  2. 主要方法:reportTGCommunication(汇报TG的communication信息给上级),reportJobCommunication(汇报job的communication信息给上级)

二、族谱

族谱里面目前只有父子二人,父类AbstractReporter里面只是负责声明抽象方法,子类里负责具体实现;


三、主要方法

AbstractReporter

  /*** 汇报job的communication信息给上级(目前datax中job无上级,所以子类中do nothing)** @param jobId         Long* @param communication Communication*/public abstract void reportJobCommunication(Long jobId, Communication communication);/*** 汇报TG的communication信息给上级** @param taskGroupId   Integer* @param communication Communication*/public abstract void reportTGCommunication(Integer taskGroupId, Communication communication);

子类ProcessInnerReporter,注意里面reportJobCommunication是do nothing

  /*** 汇报job的communication信息给上级(目前datax中job无上级,所以do nothing)** @param jobId         Integer* @param communication Communication*/@Overridepublic void reportJobCommunication(Long jobId, Communication communication) {// do nothing}/*** 将TaskGroupContainer的信息汇报给上级,操作也很简单直接更新注册时分配给该TaskGroup的Communication(Map中的值)** @param taskGroupId   Integer* @param communication Communication*/@Overridepublic void reportTGCommunication(Integer taskGroupId, Communication communication) {LocalTGCommunicationManager.updateTaskGroupCommunication(taskGroupId, communication);}

注:

  1. 对源码进行略微改动,主要修改为 1 阿里代码规约扫描出来的,2 clean code;

  2. 所有代码都已经上传到github(master分支和dev),可以免费白嫖

datax(16):源码解读AbstractReporter相关推荐

  1. datax(10): 源码解读Communication(Datax通讯类)

    前面看了datax的通讯机制,继续看源码-具体的通讯类 Communication.根据datax的运行模式的区别, 数据的收集会有些区别,这篇文章都是讲的在standalone模式下. 一.comm ...

  2. Ubuntu 16.04下Caffe-SSD的应用(四)——ssd_pascal.py源码解读

    前言 caffe-ssd所有的训练时的参数,全部由ssd_pascal.py来定义,之后再去调用相关的脚本和函数,所以想要训练自己的数据,首先要明白ssd_pascal.py各个定义参数的大体意思. ...

  3. PostgreSQL 源码解读(31)- 查询语句#16(查询优化-表达式预处理#1)

    本节简单介绍了PG查询优化对表达式预处理中连接Var(RTE中的Var,其中RTE_KIND=RTE_JOIN)溯源的过程.处理逻辑在主函数subquery_planner中通过调用flatten_j ...

  4. Bert系列(二)——源码解读之模型主体

    本篇文章主要是解读模型主体代码modeling.py.在阅读这篇文章之前希望读者们对bert的相关理论有一定的了解,尤其是transformer的结构原理,网上的资料很多,本文内容对原理部分就不做过多 ...

  5. PyTorch 源码解读之即时编译篇

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送达 作者丨OpenMMLab 来源丨https://zhuanlan.zhihu.com/ ...

  6. AFNetworking 3.0 源码解读(一)之 AFNetworkReachabilityManager

    做ios开发,AFNetworking 这个网络框架肯定都非常熟悉,也许我们平时只使用了它的部分功能,而且我们对它的实现原理并不是很清楚,就好像总是有一团迷雾在眼前一样. 接下来我们就非常详细的来读一 ...

  7. Java Review - LinkedHashMap LinkedHashSet 源码解读

    文章目录 Pre 概述 数据结构 类继承关系 构造函数 方法 get() put() remove() LinkedHashSet 使用案例 - FIFO策略缓存 Pre Java Review - ...

  8. Java Review - HashMap HashSet 源码解读

    文章目录 概述 HashMap结构图 构造函数 重点方法源码解读 (1.7) put() get() remove() 1.8版本 HashMap put resize() 扩容 get HashSe ...

  9. Java Review - Queue和Stack 源码解读

    文章目录 Pre 概述 Queue Deque ArrayDeque 一览 构造函数 属性 方法 addFirst() addLast() pollFirst() pollLast() peekFir ...

最新文章

  1. Bash的基础知识man手册
  2. 利用vagrant快速搭建rails开发环境
  3. 一张图搞清楚Java异常机制
  4. vmware 克隆centos 6.4网卡不识别
  5. VS2010 + OpenCV2.3配置 ; 在VS2010下安装配置OpenCV2.3 ; 全程截图,绝对能配置好,不能的留言!...
  6. mui实现手机web前端拍照_Web前端中的常见技术名称及所实现的功能
  7. mysql 5.6 修改默认字符集_mysql5.6修改默认字符集
  8. php判断手机 跳转代码,php判断客户端是手机设备然后跳转到手机站
  9. 18 比较数组找出最大两个数
  10. 大型WEB系统架构的那些组成
  11. 13款最佳免费网络监控工具,网站监控软件的总结。
  12. 并查集【算法笔记/晴神笔记】
  13. 深度神经网络主要模型,深度神经网络预测模型
  14. C4D中常用材质的创建与赋予
  15. 面向CRAN的5G前传方案研究
  16. 【C51】单片机芯片之——图解74HC595
  17. Unity接入心知天气,获取当前城市天气状况
  18. python电影爬虫背景介绍_Python爬虫入门教程01之爬取豆瓣Top电影
  19. PDPS教程:机器人气动点焊焊枪大开与小开运动状态自动切换设置
  20. OSINT 常用信息收集策略

热门文章

  1. HBASE中column family的设计,rowkey的设计,以及row key的设计原则问题
  2. 获取网站上的旅游攻略信息,并作数据可视化
  3. 谷歌浏览器(Chrome) 快捷键总结
  4. CAD特殊符号,你不一定会
  5. PHP点歌插件,【插件教程】弹幕点歌插件使用教程
  6. MySQL排序规则:COLLATE 及中文排序
  7. 测试计划包括哪些主要步骤和信息?
  8. FTP服务器主动被动模式详解
  9. 计算机引导程序 bios,bios设置如何更改引导 bios设置更改引导操作方法
  10. 怎么才可以在jsp界面中插入图片