mirror of
https://gitee.com/wangkang/udf.git
synced 2026-10-21 04:23:42 +00:00
调度客户端(未完成)
This commit is contained in:
@@ -31,7 +31,8 @@
|
||||
<module>udf-starter-amqp-rabbitmq</module>
|
||||
<module>udf-starter-file</module>
|
||||
<module>udf-starter-mail</module>
|
||||
<module>udf-starter-scheduler</module>
|
||||
<module>udf-starter-scheduler</module>
|
||||
<module>udf-starter-scheduler-client</module>
|
||||
</modules>
|
||||
<!-- 依赖管理 -->
|
||||
<dependencyManagement>
|
||||
@@ -94,6 +95,12 @@
|
||||
<artifactId>udf-starter-scheduler</artifactId>
|
||||
<version>${udf-starter.version}</version>
|
||||
</dependency>
|
||||
<!-- udf-starter-scheduler-client -->
|
||||
<dependency>
|
||||
<groupId>com.egridcloud.udf</groupId>
|
||||
<artifactId>udf-starter-scheduler-client</artifactId>
|
||||
<version>${udf-starter.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<!-- 构建 -->
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="true">
|
||||
<fileset name="all" enabled="true" check-config-name="checkstyle.egridcloud.com" local="false">
|
||||
<file-match-pattern match-pattern="." include-pattern="true"/>
|
||||
</fileset>
|
||||
</fileset-config>
|
||||
@@ -0,0 +1,4 @@
|
||||
/target/
|
||||
/bin/
|
||||
/.classpath
|
||||
/.project
|
||||
@@ -0,0 +1,35 @@
|
||||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
|
||||
xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<!-- maven坐标 -->
|
||||
<artifactId>udf-starter-scheduler-client</artifactId>
|
||||
<name>udf-starter-scheduler-client</name>
|
||||
<packaging>jar</packaging>
|
||||
<url>http://www.egridcloud.com</url>
|
||||
<!-- 父依赖 -->
|
||||
<parent>
|
||||
<groupId>com.egridcloud.udf</groupId>
|
||||
<artifactId>udf-starter</artifactId>
|
||||
<version>1.0</version>
|
||||
</parent>
|
||||
<!-- 依赖 -->
|
||||
<dependencies>
|
||||
<!-- udf-core-starter -->
|
||||
<dependency>
|
||||
<groupId>com.egridcloud.udf</groupId>
|
||||
<artifactId>udf-starter-core</artifactId>
|
||||
</dependency>
|
||||
<!-- spring-context-support -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-context-support</artifactId>
|
||||
</dependency>
|
||||
<!-- quartz -->
|
||||
<dependency>
|
||||
<groupId>org.quartz-scheduler</groupId>
|
||||
<artifactId>quartz</artifactId>
|
||||
<version>${quartz.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
+126
@@ -0,0 +1,126 @@
|
||||
/**
|
||||
* GeneralJobParam.java
|
||||
* Created at 2017-06-04
|
||||
* Created by Administrator
|
||||
* Copyright (C) 2016 egridcloud.com, All rights reserved.
|
||||
*/
|
||||
package com.egridcloud.udf.scheduler.client.domain;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
/**
|
||||
* 描述 : GeneralJobParam
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
*/
|
||||
@ApiModel(description = "通用作业参数")
|
||||
public class GeneralJobParam implements Serializable {
|
||||
|
||||
/**
|
||||
* 描述 : ID
|
||||
*/
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 描述 : 执行ID
|
||||
*/
|
||||
@ApiModelProperty(value = "执行ID", required = true, dataType = "string")
|
||||
private String id = UUID.randomUUID().toString();
|
||||
|
||||
/**
|
||||
* 描述 : bean名称
|
||||
*/
|
||||
@ApiModelProperty(value = "bean名称", required = true, dataType = "string")
|
||||
private String beanName;
|
||||
|
||||
/**
|
||||
* 描述 : 服务端初始化开始时间
|
||||
*/
|
||||
@ApiModelProperty(value = "服务端初始化开始时间", required = true, dataType = "date")
|
||||
private Date serverInitStartDate;
|
||||
|
||||
/**
|
||||
* 描述 : 服务端开始执行时间
|
||||
*/
|
||||
@ApiModelProperty(value = "服务端开始执行时间", required = true, dataType = "date")
|
||||
private Date serverStartDate;
|
||||
|
||||
/**
|
||||
* 描述 : 获取serverInitStartDate
|
||||
*
|
||||
* @return the serverInitStartDate
|
||||
*/
|
||||
public Date getServerInitStartDate() {
|
||||
return serverInitStartDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 设置serverInitStartDate
|
||||
*
|
||||
* @param serverInitStartDate the serverInitStartDate to set
|
||||
*/
|
||||
public void setServerInitStartDate(Date serverInitStartDate) {
|
||||
this.serverInitStartDate = serverInitStartDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 获取serverStartDate
|
||||
*
|
||||
* @return the serverStartDate
|
||||
*/
|
||||
public Date getServerStartDate() {
|
||||
return serverStartDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 设置serverStartDate
|
||||
*
|
||||
* @param serverStartDate the serverStartDate to set
|
||||
*/
|
||||
public void setServerStartDate(Date serverStartDate) {
|
||||
this.serverStartDate = serverStartDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 获取id
|
||||
*
|
||||
* @return the id
|
||||
*/
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 设置id
|
||||
*
|
||||
* @param id the id to set
|
||||
*/
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 获取beanName
|
||||
*
|
||||
* @return the beanName
|
||||
*/
|
||||
public String getBeanName() {
|
||||
return beanName;
|
||||
}
|
||||
|
||||
/**
|
||||
* 描述 : 设置beanName
|
||||
*
|
||||
* @param beanName the beanName to set
|
||||
*/
|
||||
public void setBeanName(String beanName) {
|
||||
this.beanName = beanName;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,6 +20,11 @@
|
||||
<groupId>com.egridcloud.udf</groupId>
|
||||
<artifactId>udf-starter-core</artifactId>
|
||||
</dependency>
|
||||
<!-- udf-starter-scheduler-client -->
|
||||
<dependency>
|
||||
<groupId>com.egridcloud.udf</groupId>
|
||||
<artifactId>udf-starter-scheduler-client</artifactId>
|
||||
</dependency>
|
||||
<!-- spring-context-support -->
|
||||
<dependency>
|
||||
<groupId>org.springframework</groupId>
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
/**
|
||||
* IGeneralJob.java
|
||||
* Created at 2017-06-04
|
||||
* Created by Administrator
|
||||
* Copyright (C) 2016 egridcloud.com, All rights reserved.
|
||||
*/
|
||||
package com.egridcloud.udf.scheduler;
|
||||
|
||||
/**
|
||||
* 描述 : IGeneralJob
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
*/
|
||||
public interface IGeneralJob {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
/**
|
||||
* GeneralJob.java
|
||||
* Created at 2017-06-04
|
||||
* Created by Administrator
|
||||
* Copyright (C) 2016 egridcloud.com, All rights reserved.
|
||||
*/
|
||||
package com.egridcloud.udf.scheduler.job;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.quartz.JobDataMap;
|
||||
import org.quartz.JobExecutionContext;
|
||||
import org.quartz.JobExecutionException;
|
||||
|
||||
import com.egridcloud.udf.scheduler.SchException;
|
||||
import com.egridcloud.udf.scheduler.client.domain.GeneralJobParam;
|
||||
|
||||
/**
|
||||
* 描述 : GeneralJob
|
||||
*
|
||||
* @author Administrator
|
||||
*
|
||||
*/
|
||||
public class GeneralJob extends AbstractBaseJob {
|
||||
|
||||
@Override
|
||||
protected void executeInternal(JobExecutionContext jobExecutionContext)
|
||||
throws JobExecutionException {
|
||||
//初始化开始时间
|
||||
Date serverInitStartDate = new Date();
|
||||
//从trigger中获得jobDataMap
|
||||
JobDataMap jobDataMap = jobExecutionContext.getTrigger().getJobDataMap();
|
||||
//获得必要字段
|
||||
String beanName = jobDataMap.getString("beanName");
|
||||
Boolean async = jobDataMap.getBoolean("async");
|
||||
Boolean ignore = jobDataMap.getBoolean("ignore");
|
||||
//校验
|
||||
if (StringUtils.isBlank(beanName)) {
|
||||
throw new SchException("beanName can not be empty");
|
||||
}
|
||||
//封装bean
|
||||
GeneralJobParam generalJobParam = new GeneralJobParam();
|
||||
generalJobParam.setBeanName(beanName);
|
||||
generalJobParam.setServerInitStartDate(serverInitStartDate);
|
||||
generalJobParam.setServerStartDate(new Date());
|
||||
//判断同步还是异步
|
||||
if (async) {
|
||||
//保存数据
|
||||
//判断是否跳过
|
||||
if (ignore) {
|
||||
//查询是否有正在执行的任务
|
||||
//如果有,直接写入任务,状态为跳过
|
||||
//跳出
|
||||
}
|
||||
//执行任务
|
||||
//拿到结果后,更新至数据库
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
+2
-2
@@ -30,7 +30,7 @@ public class JobDetailMeta implements Serializable {
|
||||
/**
|
||||
* 描述 : 组别
|
||||
*/
|
||||
private String group;
|
||||
private String group = "default";;
|
||||
|
||||
/**
|
||||
* 描述 : 类型
|
||||
@@ -40,7 +40,7 @@ public class JobDetailMeta implements Serializable {
|
||||
/**
|
||||
* 描述 : 描述
|
||||
*/
|
||||
private String description;
|
||||
private String description = "暂无描述";
|
||||
|
||||
/**
|
||||
* 描述 : 是否可恢复
|
||||
|
||||
+3
-1
@@ -8,6 +8,8 @@ package com.egridcloud.udf.scheduler.meta;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import org.quartz.SimpleTrigger;
|
||||
|
||||
/**
|
||||
* 描述 : SimpleTriggerMeta.java
|
||||
*
|
||||
@@ -24,7 +26,7 @@ public class SimpleTriggerMeta extends TriggerMeta implements Serializable {
|
||||
/**
|
||||
* 描述 : 重复次数
|
||||
*/
|
||||
private Integer repeatCount;
|
||||
private Integer repeatCount = SimpleTrigger.REPEAT_INDEFINITELY;
|
||||
|
||||
/**
|
||||
* 描述 : 执行间隔
|
||||
|
||||
+2
-2
@@ -38,12 +38,12 @@ public class TriggerMeta implements Serializable {
|
||||
/**
|
||||
* 描述 : 组别
|
||||
*/
|
||||
private String group;
|
||||
private String group = "default";
|
||||
|
||||
/**
|
||||
* 描述 : 描述
|
||||
*/
|
||||
private String description;
|
||||
private String description = "暂无描述";
|
||||
|
||||
/**
|
||||
* 描述 : 开始时间
|
||||
|
||||
Reference in New Issue
Block a user