java jobkey_Java JobBuilder.newJob方法代码示例
import org.quartz.JobBuilder; //导入方法依赖的package包/类
/**
* 新增job
*
* @param inputObject
* @param outputObject
* @throws Exception
*/
public boolean updateTask(TaskScheduled taskScheduled) {
String jobGroup = taskScheduled.getTaskGroup();
if (DataUtil.isEmpty(jobGroup)) {
jobGroup = "ds_job";
}
String jobName = taskScheduled.getTaskName();
if (DataUtil.isEmpty(jobName)) {
jobName = String.valueOf(System.currentTimeMillis());
}
String cronExpression = taskScheduled.getTaskCron();
String targetObject = taskScheduled.getTargetObject();
String targetMethod = taskScheduled.getTargetMethod();
String jobDescription = taskScheduled.getTaskDesc();
String jobType = taskScheduled.getJobType();
String taskType = taskScheduled.getTaskType();
JobDataMap jobDataMap = new JobDataMap();
if (TaskType.dubbo.equals(taskType)) {
jobDataMap.put("targetSystem", taskScheduled.getTargetSystem());
}
jobDataMap.put("targetObject", targetObject);
jobDataMap.put("targetMethod", targetMethod);
jobDataMap.put("taskType", taskType);
jobDataMap.put("contactName", taskScheduled.getContactName());
jobDataMap.put("contactEmail", taskScheduled.getContactEmail());
JobBuilder jobBuilder = null;
if (JobType.job.equals(jobType)) {
jobBuilder = JobBuilder.newJob(BaseJob.class);
} else if (JobType.statefulJob.equals(jobType)) {
jobBuilder = JobBuilder.newJob(StatefulJob.class);
}
if (jobBuilder != null) {
JobDetail jobDetail = jobBuilder.withIdentity(jobName, jobGroup).withDescription(jobDescription)
.storeDurably(true).usingJobData(jobDataMap).build();
Trigger trigger = TriggerBuilder.newTrigger().withSchedule(CronScheduleBuilder.cronSchedule(cronExpression))
.withIdentity(jobName, jobGroup).withDescription(jobDescription).forJob(jobDetail)
.usingJobData(jobDataMap).build();
try {
JobDetail detail = scheduler.getJobDetail(new JobKey(jobName, jobGroup));
if (detail == null) {
scheduler.scheduleJob(jobDetail, trigger);
} else {
scheduler.addJob(jobDetail, true);
scheduler.rescheduleJob(new TriggerKey(jobName, jobGroup), trigger);
}
return true;
} catch (SchedulerException e) {
logger.error("SchedulerException", "SchedulerException", e);
throw new BusinessException(e);
}
}
return false;
}
java jobkey_Java JobBuilder.newJob方法代码示例相关推荐
- java kryo_Kryo框架使用方法代码示例
Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...
- java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例
import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...
- java invalidate_Java Component.invalidate方法代码示例
import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...
- java hasmoreelements_Java IOException.hasMoreElements方法代码示例
import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...
- java methode_Java Method.getTypeParameters方法代码示例
import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...
- java setmethod_Java Operation.setJavaMethod方法代码示例
import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...
- java cancel_Java RunnableFuture.cancel方法代码示例
import java.util.concurrent.RunnableFuture; //导入方法依赖的package包/类 @Test public void testSnapshotAsyncC ...
- java getevent_Java ActionEvent.getWhen方法代码示例
import java.awt.event.ActionEvent; //导入方法依赖的package包/类 @Override final public void actionPerformed(A ...
- java deepcopy_Java JsonNode.deepCopy方法代码示例
import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类 /** * Applies this schema rule t ...
最新文章
- for循环递减_判断语句_循环语句
- 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
- Nginx 多站点配置
- C++文件类(文件流类)及用法详解
- 重磅合集 | 31 篇技术文章,带你从零入门 K8s (留言赠书)
- helm search搜索charts命令
- oracle如何创建基表,创建本地基表的物化视图
- vmware 虚拟机恢复ghost镜像文件
- 在线供应链管理系统一体化解决方案,整合B2B上下游供应资源
- shardingsphere5.0 解决第一次执行sql慢的问题
- 计算机电源功率高好吗,电脑电源买多大功率适合?实战分析分享
- 微生物-肠道-脑轴:新的治疗机会
- 训练一个图像分类器demo in PyTorch【学习笔记】
- 关于后台应用进程被杀的相关知识
- Python笔记 No.1 - Python函数及装饰器
- 最流行的前端框架vue基础
- 高德地图定位及导航开发流程
- 只要5分钟!学会自己打造多系统合集的DVD安装光盘
- Python turtle画图库画姓名实例(Python入门)
- linux无损扩空间,linux无损扩容的方法