|
|
|
@ -1,228 +1,92 @@
|
|
|
|
|
package cn.edu.hust.domain; // 定义该类所在的包,包在Java项目中起着组织类结构的重要作用,它将功能相关或处于同一业务模块下的类归为一组,有助于清晰地管理不同模块,使整个项目的代码架构更加有条理,便于开发人员查找、理解以及维护各类代码文件。
|
|
|
|
|
package cn.edu.hust.domain;
|
|
|
|
|
|
|
|
|
|
import java.io.Serializable; // 导入Serializable接口,表示该类的实例可以被序列化。序列化操作使得对象能够转换为字节流的形式,这对于对象的存储(比如保存到文件中)或者在网络环境下进行传输都非常便利,能够满足如分布式系统、数据持久化等多种应用场景的需求。
|
|
|
|
|
import java.io.Serializable;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Task类用于表示任务信息,通常用于任务调度或任务管理的系统中。
|
|
|
|
|
* 此类实现了Serializable接口,意味着其对象能够被序列化,方便在系统不同组件间进行存储或传输,例如可以将任务对象存储到数据库中以备后续查询恢复使用,或者在分布式任务调度系统的不同节点间传递任务相关信息等。
|
|
|
|
|
*/
|
|
|
|
|
public class Task implements Serializable {
|
|
|
|
|
|
|
|
|
|
// 类中的成员变量,用于存储任务的相关信息,以下对每个成员变量进行详细说明,它们共同构成了描述一个任务的关键属性集合。
|
|
|
|
|
|
|
|
|
|
// 任务 ID,用于唯一标识任务。
|
|
|
|
|
// 在整个任务管理系统中,每个任务都有一个独一无二的任务ID,通过它可以准确地定位、查询以及区分不同的任务,方便在任务的调度、监控以及数据统计等操作中使用该标识来关联相应的任务记录。
|
|
|
|
|
public class Task implements Serializable{
|
|
|
|
|
private Long taskId;
|
|
|
|
|
|
|
|
|
|
// 任务名称,表示任务的名称,通常用于描述任务的含义。
|
|
|
|
|
// 任务名称一般以一种易于理解的方式呈现任务的大致功能或业务目标,方便开发人员、运维人员以及其他相关人员快速知晓该任务是做什么的,例如“数据备份任务”“用户信息同步任务”等。
|
|
|
|
|
private String taskName;
|
|
|
|
|
|
|
|
|
|
// 创建时间,记录任务的创建时刻。
|
|
|
|
|
// 这个时间戳记录了任务最初被创建的时间点,对于分析任务的生命周期、追溯任务的起源以及按照时间顺序管理任务历史记录等方面有着重要作用,可以帮助了解任务的整体时间线情况。
|
|
|
|
|
private String createTime;
|
|
|
|
|
|
|
|
|
|
// 任务开始时间,记录任务实际开始执行的时间。
|
|
|
|
|
// 与创建时间不同,它标志着任务进入实际执行阶段的具体时刻,在任务调度系统中,通过对比创建时间和开始时间,可以评估任务是否及时启动,以及是否存在延迟等情况,同时也有助于统计任务的执行时长等信息。
|
|
|
|
|
private String startTime;
|
|
|
|
|
|
|
|
|
|
// 任务结束时间,记录任务执行完成的时间。
|
|
|
|
|
// 结合开始时间,能够准确计算出任务的执行时长,并且可以根据结束时间判断任务是否按照预期完成,对于任务执行效率的分析、任务执行结果的记录以及后续的任务复盘等操作提供了关键的时间依据。
|
|
|
|
|
private String finishTime;
|
|
|
|
|
|
|
|
|
|
// 任务类型,用于区分不同类型的任务。
|
|
|
|
|
// 在复杂的任务管理系统中,可能存在多种不同性质和功能的任务,例如数据处理任务、文件传输任务、定时触发任务等,通过任务类型可以对任务进行分类管理,方便针对不同类型的任务制定相应的调度策略、执行逻辑以及资源分配方案等。
|
|
|
|
|
private String taskType;
|
|
|
|
|
|
|
|
|
|
// 任务状态,表示任务当前的状态,如 "进行中"、"已完成"、"失败" 等。
|
|
|
|
|
// 任务状态是实时反映任务进展情况的重要属性,系统可以根据任务执行过程中的不同阶段和结果来更新这个状态,方便监控任务的执行情况,对于任务调度器来说,也可以依据任务状态决定是否需要重新调度、重试或者进行其他后续操作。
|
|
|
|
|
private String taskStatus;
|
|
|
|
|
|
|
|
|
|
// 任务参数,通常用于存储任务执行时所需要的附加参数,可能是 JSON 格式或其他。
|
|
|
|
|
// 不同的任务在执行过程中可能需要一些特定的配置信息或者输入数据,这些都可以通过任务参数来传递,例如数据处理任务可能需要指定数据源路径、处理规则等参数,任务参数的灵活性使得任务可以适应多种不同的具体业务需求。
|
|
|
|
|
private String taskParam;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 默认构造方法。
|
|
|
|
|
* 其作用是在创建该类的实例时,初始化所有成员变量。
|
|
|
|
|
* 在Java中,如果没有显式地在构造方法中对成员变量进行赋值,基本数据类型的成员变量会被赋予默认值(例如Long类型默认值为null),对象类型成员变量则初始化为空对象引用,这样就完成了对象的初步构建,后续可根据具体业务场景通过相应的setter方法来设置具体的值。
|
|
|
|
|
*/
|
|
|
|
|
public Task() {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 通过该构造方法,可以快速地为Task对象设置所有字段的值。
|
|
|
|
|
* 该方法提供了一种便捷的方式,在实例化对象后能一次性地传入各个属性对应的参数值,完成对象各成员变量的赋值操作,避免了逐个调用setter方法来设置值的繁琐过程,尤其在批量创建和初始化任务对象时,能显著提高效率。
|
|
|
|
|
*
|
|
|
|
|
* @param taskId 任务ID,对应要设置的任务的唯一标识值,该值在整个任务管理系统中应是唯一的,用于准确区分不同任务。
|
|
|
|
|
* @param taskName 任务名称,要设置的表示任务含义的名称字符串,应具有清晰的业务描述性。
|
|
|
|
|
* @param createTime 任务创建时间,要设置的任务最初被创建的时间值,格式需符合系统中时间记录的规范要求,比如常见的"yyyy-MM-dd HH:mm:ss"格式。
|
|
|
|
|
* @param startTime 任务开始时间,要设置的任务实际开始执行的时间值,同样需遵循相应的时间格式规范,以便后续进行时间相关的计算和分析。
|
|
|
|
|
* @param finishTime 任务结束时间,要设置的任务执行完成的时间值,也应满足时间格式要求,用于确定任务执行周期等情况。
|
|
|
|
|
* @param taskType 任务类型,要设置的用于区分任务种类的类型标识字符串,不同类型的任务对应不同的业务逻辑和处理方式。
|
|
|
|
|
* @param taskStatus 任务状态,要设置的表示任务当前进展情况的状态描述字符串,如 "进行中"、"已完成"、"失败" 等符合业务定义的状态值。
|
|
|
|
|
* @param taskParam 任务参数,要设置的任务执行时所需的附加参数内容,其格式取决于具体业务需求,可能是JSON格式或者其他自定义的格式等。
|
|
|
|
|
*/
|
|
|
|
|
public void set(Long taskId, String taskName, String createTime, String startTime, String finishTime, String taskType, String taskStatus, String taskParam) {
|
|
|
|
|
// 设置任务 ID,将传入的taskId参数值赋给当前对象的taskId成员变量,使得对象能够持有该任务的唯一标识信息。
|
|
|
|
|
this.taskId = taskId;
|
|
|
|
|
|
|
|
|
|
// 设置任务名称,把传入的taskName参数值赋予当前对象的taskName成员变量,以此确定该任务在业务层面上的称呼和描述。
|
|
|
|
|
this.taskName = taskName;
|
|
|
|
|
|
|
|
|
|
// 设置任务创建时间,将传入的createTime参数值赋值给当前对象的createTime成员变量,用于记录任务的起始创建时刻。
|
|
|
|
|
this.createTime = createTime;
|
|
|
|
|
|
|
|
|
|
// 设置任务开始时间,把传入的startTime参数值赋给当前对象的startTime成员变量,以便明确任务实际开始执行的时间点。
|
|
|
|
|
this.startTime = startTime;
|
|
|
|
|
|
|
|
|
|
// 设置任务结束时间,将传入的finishTime参数值赋予当前对象的finishTime成员变量,用于标记任务执行完毕的时间情况。
|
|
|
|
|
this.finishTime = finishTime;
|
|
|
|
|
|
|
|
|
|
// 设置任务类型,把传入的taskType参数值赋给当前对象的taskType成员变量,通过该属性可以区分不同种类的任务。
|
|
|
|
|
this.taskType = taskType;
|
|
|
|
|
|
|
|
|
|
// 设置任务状态,将传入的taskStatus参数值赋予当前对象的taskStatus成员变量,以此反映任务当前所处的进展状态。
|
|
|
|
|
this.taskStatus = taskStatus;
|
|
|
|
|
|
|
|
|
|
// 设置任务参数,把传入的taskParam参数值赋给当前对象的taskParam成员变量,为任务执行提供所需的附加配置信息等。
|
|
|
|
|
this.taskParam = taskParam;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 以下是每个字段的getter和setter方法,用于获取和设置类的成员变量值,遵循Java面向对象编程中对类属性访问控制的规范,方便在不同的业务逻辑中灵活获取和修改任务对象的各个属性。
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务 ID。
|
|
|
|
|
* 外部代码可以通过调用此方法获取当前Task对象所关联的任务ID,以便在任务管理相关的业务逻辑处理中,依据该ID进行诸如查询任务详情、关联其他相关任务数据、进行任务调度操作等各种操作。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务 ID,返回类型为Long,返回的值就是该对象中存储的任务ID的具体数值,可用于在整个任务管理系统中唯一标识该任务。
|
|
|
|
|
*/
|
|
|
|
|
public Long getTaskId() {
|
|
|
|
|
return taskId; // 返回任务 ID 的值,即将当前对象的taskId成员变量的值返回给调用者。
|
|
|
|
|
return taskId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务 ID。
|
|
|
|
|
* 外部代码可以调用此方法来更新当前Task对象所关联的任务ID,例如在任务ID需要重新分配、修改或者进行数据迁移等业务场景下,需要改变对象对应的任务标识时,就可以使用这个方法进行赋值操作。
|
|
|
|
|
*
|
|
|
|
|
* @param taskId 任务 ID,参数类型为Long,传入的就是要设置给当前对象的新的任务ID值,该值应保证在系统内的唯一性。
|
|
|
|
|
*/
|
|
|
|
|
public void setTaskId(Long taskId) {
|
|
|
|
|
this.taskId = taskId; // 设置任务 ID 的值,将传入的taskId参数赋值给当前对象的taskId成员变量。
|
|
|
|
|
this.taskId = taskId;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务名称。
|
|
|
|
|
* 调用此方法能够获取当前Task对象所代表的任务的名称,便于在任务管理界面展示、日志记录以及与其他相关人员沟通任务情况等操作中使用该名称来清晰表述任务内容。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务名称,返回类型为String,返回的是存储在该对象中的任务名称的具体字符串内容,其应具有明确的业务含义描述功能。
|
|
|
|
|
*/
|
|
|
|
|
public String getTaskName() {
|
|
|
|
|
return taskName; // 返回任务名称的值,也就是将当前对象的taskName成员变量的值返回给调用者。
|
|
|
|
|
return taskName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务名称。
|
|
|
|
|
* 该方法可用于外部代码对当前Task对象所代表的任务名称进行更新操作,比如在任务功能发生变更、需要重新命名以更准确反映任务内容等情况下,可通过此方法来实现任务名称的修改。
|
|
|
|
|
*
|
|
|
|
|
* @param taskName 任务名称,参数类型为String,传入的是要设置给当前对象的新的任务名称值,应符合业务上对任务命名的规范要求。
|
|
|
|
|
*/
|
|
|
|
|
public void setTaskName(String taskName) {
|
|
|
|
|
this.taskName = taskName; // 设置任务名称的值,将传入的taskName参数赋值给当前对象的taskName成员变量。
|
|
|
|
|
this.taskName = taskName;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务创建时间。
|
|
|
|
|
* 外部代码调用此方法可以获取当前Task对象所代表的任务的创建时间,这个时间数据对于分析任务的历史记录、追溯任务的起源以及按照时间顺序梳理任务流程等方面有着重要作用,可作为时间轴上的关键节点参考。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务创建时间,返回类型为String,返回的值就是该对象中存储的任务创建时间的具体字符串内容,格式通常需符合系统规定的时间表示规范。
|
|
|
|
|
*/
|
|
|
|
|
public String getCreateTime() {
|
|
|
|
|
return createTime; // 返回任务创建时间的值,即将当前对象的createTime成员变量的值返回给调用者。
|
|
|
|
|
return createTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务创建时间。
|
|
|
|
|
* 通过调用此方法,外部代码可以更新当前Task对象所代表的任务的创建时间数据,例如在时间记录错误修正、数据同步时需要调整创建时间等业务场景下,就可以使用这个方法进行赋值操作,需确保传入的时间值格式正确。
|
|
|
|
|
*
|
|
|
|
|
* @param createTime 任务创建时间,参数类型为String,传入的是要设置给当前对象的新的任务创建时间值,应遵循系统要求的时间格式规范。
|
|
|
|
|
*/
|
|
|
|
|
public void setCreateTime(String createTime) {
|
|
|
|
|
this.createTime = createTime; // 设置任务创建时间的值,将传入的createTime参数赋值给当前对象的createTime成员变量。
|
|
|
|
|
this.createTime = createTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务开始时间。
|
|
|
|
|
* 调用此方法能获取当前Task对象所代表的任务的实际开始执行时间,它与创建时间、结束时间等结合起来,可以用于分析任务的执行周期、是否按时启动等情况,对于任务执行效率的评估和监控有着重要意义。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务开始时间,返回类型为String,返回的是存储在该对象中的任务开始时间的具体字符串内容,格式需符合系统设定的时间表示规则。
|
|
|
|
|
*/
|
|
|
|
|
public String getStartTime() {
|
|
|
|
|
return startTime; // 返回任务开始时间的值,也就是将当前对象的startTime成员变量的值返回给调用者。
|
|
|
|
|
return startTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务开始时间。
|
|
|
|
|
* 外部代码可以利用此方法对当前Task对象所代表的任务的开始时间进行更新操作,比如在任务启动时间记录错误、任务因某些原因重新启动等业务场景下,可通过该方法来完成开始时间的赋值修改,需保证时间值格式正确。
|
|
|
|
|
*
|
|
|
|
|
* @param startTime 任务开始时间,参数类型为String,传入的是要设置给当前对象的新的任务开始时间值,应符合系统要求的时间格式规范。
|
|
|
|
|
*/
|
|
|
|
|
public void setStartTime(String startTime) {
|
|
|
|
|
this.startTime = startTime; // 设置任务开始时间的值,将传入的startTime参数赋值给当前对象的startTime成员变量。
|
|
|
|
|
this.startTime = startTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务结束时间。
|
|
|
|
|
* 此方法用于获取当前Task对象所代表的任务的执行完成时间,结合开始时间等属性,可准确计算出任务的执行时长,并且能依据该时间判断任务是否按预期完成,对于任务执行情况的统计和分析是一个关键的数据点。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务结束时间,返回类型为String,返回的值就是该对象中存储的任务结束时间的具体字符串内容,格式应符合系统规定的时间表示规范。
|
|
|
|
|
*/
|
|
|
|
|
public String getFinishTime() {
|
|
|
|
|
return finishTime; // 返回任务结束时间的值,即将当前对象的finishTime成员变量的值返回给调用者。
|
|
|
|
|
return finishTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务结束时间。
|
|
|
|
|
* 调用该方法可让外部代码更新当前Task对象所代表的任务的结束时间数据,例如在任务执行完毕时间记录错误、任务提前或延迟结束等业务场景影响结束时间统计结果,需要对其数值进行修正时,就可以使用这个方法来赋值。
|
|
|
|
|
*
|
|
|
|
|
* @param finishTime 任务结束时间,参数类型为String,传入的是要设置给当前对象的新的任务结束时间值,应遵循系统要求的时间格式规范。
|
|
|
|
|
*/
|
|
|
|
|
public void setFinishTime(String finishTime) {
|
|
|
|
|
this.finishTime = finishTime; // 设置任务结束时间的值,将传入的finishTime参数赋值给当前对象的finishTime成员变量。
|
|
|
|
|
this.finishTime = finishTime;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务类型。
|
|
|
|
|
* 外部代码调用此方法可以获取当前Task对象所代表的任务的类型标识,基于这个类型信息,能够针对不同类型的任务采取相应的处理逻辑、调度策略以及资源分配方式等,方便对任务进行分类管理和差异化操作。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务类型,返回类型为String,返回的是存储在该对象中的任务类型的具体字符串内容,其对应着不同的任务分类定义。
|
|
|
|
|
*/
|
|
|
|
|
public String getTaskType() {
|
|
|
|
|
return taskType; // 返回任务类型的值,即将当前对象的taskType成员变量的值返回给调用者。
|
|
|
|
|
return taskType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务类型。
|
|
|
|
|
* 通过调用此方法,外部代码可以更新当前Task对象所代表的任务的类型标识,比如在任务功能发生重大变更导致类型改变、任务分类规则调整等业务场景下,需要改变任务类型的具体内容时,就可以使用这个方法进行赋值操作,应遵循业务上对任务类型定义的规范要求。
|
|
|
|
|
*
|
|
|
|
|
* @param taskType 任务类型,参数类型为String,传入的是要设置给当前对象的新的任务类型值,其应符合系统中对任务类型的命名和分类约定。
|
|
|
|
|
*/
|
|
|
|
|
public void setTaskType(String taskType) {
|
|
|
|
|
this.taskType = taskType; // 设置任务类型的值,将传入的taskType参数赋值给当前对象的taskType成员变量。
|
|
|
|
|
this.taskType = taskType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 获取任务状态。
|
|
|
|
|
* 此方法用于获取当前Task对象所代表的任务的当前状态信息,任务状态对于实时监控任务进展、决定后续操作(如是否重试、继续执行还是结束任务等)起着关键作用,不同的状态值对应着不同的任务处理逻辑。
|
|
|
|
|
*
|
|
|
|
|
* @return 当前对象的任务状态,返回类型为String,返回的是存储在该对象中的任务状态的具体字符串内容,如 "进行中"、"已完成"、"失败" 等符合业务定义的状态描述。
|
|
|
|
|
*/
|
|
|
|
|
public String getTaskStatus() {
|
|
|
|
|
return taskStatus; // 返回任务状态的值,即将当前对象的taskStatus成员变量的值返回给调用者。
|
|
|
|
|
return taskStatus;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 设置任务状态。
|
|
|
|
|
* 外部代码可以利用此方法对当前Task对象所代表的任务的状态进行更新操作,例如在任务执行
|
|
|
|
|
**/
|
|
|
|
|
public void setTaskStatus(String taskStatus) {
|
|
|
|
|
this.taskStatus = taskStatus;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String getTaskParam() {
|
|
|
|
|
return taskParam;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void setTaskParam(String taskParam) {
|
|
|
|
|
this.taskParam = taskParam;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|