DolphinScheduler技术分析(六)

本文详细分析了DolphinScheduler DAO模块下的实体类,包括AlertPluginInstance、Command、Environment、MonitorRecord和ProcessAlertContent。AlertPluginInstance有不同参数的构造函数,Command涉及流程定义和指令参数。Environment使用JsonFormat注解处理时间格式,MonitorRecord用于数据库监控,而ProcessAlertContent利用@JsonInclude过滤空字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 2021SC@SDUSC

DophinScheduler dao模块下实体代码详情分析

这篇分析一下几个实体中与最基本实体相比有新东西的地方

AlertPluginInstance警报插件实例:

 AlertPluginInstance类中定义了三个在不同传递参数情况下的实例初始化构造函数,其中第一个为不传递参数,则只初始化creareTime和updateTime:

 其余为普通的get()、set()数据成员函数

Command指令实体:

1.多导入了dolphinscheduler官方提供的包中的方法

 2.本实体中几个特殊的数据成员:

流程定义代码

指令参数(json格式)

任务依赖类型、警告类型

failurestrategy类型的失败策略

Priority类型的进程实例优先级

构造函数定义了一个不提供参数的和一个提供所有参数的

Environment环境实体

 引入了

JsonFormat注解是jackson包里面的一个注解,是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。

 在ceateTime和updataTime这里用到了这个注解

 

MonitorRecord实体 

主要是对数据库进行监管记录

Flag类型的state主要用来监控数据库运行的是否正常

ProcessAlertContent实体

引入

 实体类上使用@JsonInclude过滤为空的字段

拓展:

1.实体类上使用@JsonPropertyOrder对字段进行排序

2.在需要转换的字段上使用@JsonSerialize并自定义json序列化

引入

 

 @JsonProperty:此注解作用于属性上,作用是把该属性的名称序列化成另一个自己想要的名称

对属性名进行重命名,在java里我们墨守规定驼峰命名,但是在一些特殊的场合下,比如数据库是下划线等,再此我们就可以进行映射

对属性名称重命名,比如在很多场景下Java对象的属性是按照规范的驼峰书写,但在数据库设计时使用的是下划线连接方式

 拓展:

1.@JsonIgnore注解用于属性或者方法上,用来完全忽略被注释的字段和方法对应的属性,即便这个还有其它注解,一般标记在属性或者方法上,返回的json数据不包含被该注解引用的属性或者方法

 2.@JsonIgnoreProperties可以帮我们忽略类中不存在的字段

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值