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方法代码示例相关推荐

  1. java kryo_Kryo框架使用方法代码示例

    Kryo框架的source已移至https://github.com/EsotericSoftware/kryo ,进入此页面,然后点击右边的Download Zip按钮,就能下载到最新版本的Kryo ...

  2. java readtimeout_Java HttpURLConnection.getReadTimeout方法代码示例

    import java.net.HttpURLConnection; //导入方法依赖的package包/类 /** * 得到响应对象 * * @param urlConnection * @retu ...

  3. java invalidate_Java Component.invalidate方法代码示例

    import java.awt.Component; //导入方法依赖的package包/类 /** Installs the component we will embed to display t ...

  4. java hasmoreelements_Java IOException.hasMoreElements方法代码示例

    import java.io.IOException; //导入方法依赖的package包/类 /** * fileName���� ���� package �������� ������ ���� ...

  5. java methode_Java Method.getTypeParameters方法代码示例

    import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...

  6. java setmethod_Java Operation.setJavaMethod方法代码示例

    import com.sun.tools.internal.ws.processor.model.Operation; //导入方法依赖的package包/类 private void createJ ...

  7. java cancel_Java RunnableFuture.cancel方法代码示例

    import java.util.concurrent.RunnableFuture; //导入方法依赖的package包/类 @Test public void testSnapshotAsyncC ...

  8. java getevent_Java ActionEvent.getWhen方法代码示例

    import java.awt.event.ActionEvent; //导入方法依赖的package包/类 @Override final public void actionPerformed(A ...

  9. java deepcopy_Java JsonNode.deepCopy方法代码示例

    import com.fasterxml.jackson.databind.JsonNode; //导入方法依赖的package包/类 /** * Applies this schema rule t ...

最新文章

  1. for循环递减_判断语句_循环语句
  2. 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )
  3. Nginx 多站点配置
  4. C++文件类(文件流类)及用法详解
  5. 重磅合集 | 31 篇技术文章,带你从零入门 K8s (留言赠书)
  6. helm search搜索charts命令
  7. oracle如何创建基表,创建本地基表的物化视图
  8. vmware 虚拟机恢复ghost镜像文件
  9. 在线供应链管理系统一体化解决方案,整合B2B上下游供应资源
  10. shardingsphere5.0 解决第一次执行sql慢的问题
  11. 计算机电源功率高好吗,电脑电源买多大功率适合?实战分析分享
  12. 微生物-肠道-脑轴:新的治疗机会
  13. 训练一个图像分类器demo in PyTorch【学习笔记】
  14. 关于后台应用进程被杀的相关知识
  15. Python笔记 No.1 - Python函数及装饰器
  16. 最流行的前端框架vue基础
  17. 高德地图定位及导航开发流程
  18. 只要5分钟!学会自己打造多系统合集的DVD安装光盘
  19. Python turtle画图库画姓名实例(Python入门)
  20. linux无损扩空间,linux无损扩容的方法

热门文章

  1. Hive文件存储格式和hive数据压缩
  2. 《PHP程序员面试笔试宝典》——如何巧妙地回答面试官的问题?
  3. Chrome之控制台使用【转载】
  4. ios7学习之路六(隐藏状态栏 )
  5. IOS UIImage
  6. Symbian编程总结-基础篇-描述符(2)-TDesC8与TDesC16之间的互转
  7. 【思维】Kenken Race
  8. python consul
  9. 使用JavaScript重定向URL参数
  10. 题目1120:全排列