JobRuntimeDetailInfo.java 1.41 KB
package com.jpa.jpademo.domain;

import lombok.Data;

import javax.persistence.*;
import java.util.List;

/**
 * 该对象主要用于job调度时参数,任务只需要和模版进行绑定
 * 每个模版可以绑定多个资源,这也适用与采集
 */
@Data
@Entity
@Table(name = "JOB_RUNTIME_DETAIL_INFO")
public class JobRuntimeDetailInfo {

    public static String JOB_RUNTIME_DETAIIL_KEY = "JOB_RUNTIME_DETAIIL_KEY";

    // 任务ID workstation 上报
    @Id
    @Column(name = "TASK_ID")
    String taskId;
    // 批次号
    @Transient
    String batchNo;
    // 下次执行时间
    @Transient
    String nextFireTime;
    // job 类型,由workstation提供,类型包含:增加 1、修改 2、删除 0
    // 枚举值见Constants.MESSAGE_TYPE_CREATE/MESSAGE_TYPE_UPDATE/MESSAGE_TYPE_DELETE
    @Transient
    int type;
    // 采集器ID
    @Column(name = "COLLECTOR_ID")
    String collectorId;
    // 调度频率,如果job中该频率不为空,则以该频率作为采集频率
    // 如果该频率为空,则以指令的调度频率作为采集频率
    @Column(name = "INTERVAL")
    String interval;

    // 模版信息
    @OneToMany(fetch=FetchType.EAGER)
    @JoinTable(name="JOB_TEMPLATE",
            joinColumns={@JoinColumn(name="j_id",referencedColumnName="task_id")},
            inverseJoinColumns={@JoinColumn(name="t_id",referencedColumnName="id")})
    List<TemplateInfo> templateInfos;
}