diff --git a/pom.xml b/pom.xml
index d74eafb..29d6202 100644
--- a/pom.xml
+++ b/pom.xml
@@ -31,7 +31,8 @@
udf-starter-amqp-rabbitmq
udf-starter-file
udf-starter-mail
- udf-starter-scheduler
+ udf-starter-scheduler
+ udf-starter-scheduler-client
@@ -94,6 +95,12 @@
udf-starter-scheduler
${udf-starter.version}
+
+
+ com.egridcloud.udf
+ udf-starter-scheduler-client
+ ${udf-starter.version}
+
diff --git a/udf-starter-scheduler-client/.checkstyle b/udf-starter-scheduler-client/.checkstyle
new file mode 100644
index 0000000..5b35a1b
--- /dev/null
+++ b/udf-starter-scheduler-client/.checkstyle
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/udf-starter-scheduler-client/.gitignore b/udf-starter-scheduler-client/.gitignore
new file mode 100644
index 0000000..c541155
--- /dev/null
+++ b/udf-starter-scheduler-client/.gitignore
@@ -0,0 +1,4 @@
+/target/
+/bin/
+/.classpath
+/.project
diff --git a/udf-starter-scheduler-client/pom.xml b/udf-starter-scheduler-client/pom.xml
new file mode 100644
index 0000000..a7c8f9b
--- /dev/null
+++ b/udf-starter-scheduler-client/pom.xml
@@ -0,0 +1,35 @@
+
+
+ 4.0.0
+
+ udf-starter-scheduler-client
+ udf-starter-scheduler-client
+ jar
+ http://www.egridcloud.com
+
+
+ com.egridcloud.udf
+ udf-starter
+ 1.0
+
+
+
+
+
+ com.egridcloud.udf
+ udf-starter-core
+
+
+
+ org.springframework
+ spring-context-support
+
+
+
+ org.quartz-scheduler
+ quartz
+ ${quartz.version}
+
+
+
diff --git a/udf-starter-scheduler-client/src/main/java/com/egridcloud/udf/scheduler/client/domain/GeneralJobParam.java b/udf-starter-scheduler-client/src/main/java/com/egridcloud/udf/scheduler/client/domain/GeneralJobParam.java
new file mode 100644
index 0000000..c2171b1
--- /dev/null
+++ b/udf-starter-scheduler-client/src/main/java/com/egridcloud/udf/scheduler/client/domain/GeneralJobParam.java
@@ -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;
+ }
+
+}
diff --git a/udf-starter-scheduler/pom.xml b/udf-starter-scheduler/pom.xml
index e72704d..03e6dff 100644
--- a/udf-starter-scheduler/pom.xml
+++ b/udf-starter-scheduler/pom.xml
@@ -20,6 +20,11 @@
com.egridcloud.udf
udf-starter-core
+
+
+ com.egridcloud.udf
+ udf-starter-scheduler-client
+
org.springframework
diff --git a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/IGeneralJob.java b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/IGeneralJob.java
new file mode 100644
index 0000000..f6bcb74
--- /dev/null
+++ b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/IGeneralJob.java
@@ -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 {
+
+}
diff --git a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/job/GeneralJob.java b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/job/GeneralJob.java
new file mode 100644
index 0000000..6cb11f7
--- /dev/null
+++ b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/job/GeneralJob.java
@@ -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 {
+
+ }
+ }
+
+}
diff --git a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/JobDetailMeta.java b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/JobDetailMeta.java
index 61eefc4..689c4c2 100644
--- a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/JobDetailMeta.java
+++ b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/JobDetailMeta.java
@@ -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 = "暂无描述";
/**
* 描述 : 是否可恢复
diff --git a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/SimpleTriggerMeta.java b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/SimpleTriggerMeta.java
index 589d2ab..84c8b6d 100644
--- a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/SimpleTriggerMeta.java
+++ b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/SimpleTriggerMeta.java
@@ -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;
/**
* 描述 : 执行间隔
diff --git a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/TriggerMeta.java b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/TriggerMeta.java
index 826b089..83b00c0 100644
--- a/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/TriggerMeta.java
+++ b/udf-starter-scheduler/src/main/java/com/egridcloud/udf/scheduler/meta/TriggerMeta.java
@@ -38,12 +38,12 @@ public class TriggerMeta implements Serializable {
/**
* 描述 : 组别
*/
- private String group;
+ private String group = "default";
/**
* 描述 : 描述
*/
- private String description;
+ private String description = "暂无描述";
/**
* 描述 : 开始时间