org.quartz.JobDataMap 对象
来源:互联网 发布:欧乐b和飞利浦知乎 编辑:程序博客网 时间:2024/06/10 21:16
JobDataMap 是为了方便存入和得到对象的一个对象,使用方法是,先在JobDetial 或者 Trigger 中添加参数,然后在对应的Job 中便可以得到添加的参数
//绑定job到jobdetail 上JobDetail jobDetail = JobBuilder.newJob(HelloJob.class) .withIdentity("myJob", "group1") //唯一标记符 .usingJobData("name", "ldh") // 添加参数 .usingJobData("age", 24) // 添加参数 .build(); jobDetail.getJobDataMap().put("name", "zxc");//创建一个最简单的触发器Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger", "group1") //唯一标记符 .withSchedule(SimpleScheduleBuilder.simpleSchedule() //创建一个简单的调度器 .withIntervalInSeconds(2000) // 每2秒执行一次 .repeatForever()) // 永远重复执行 .usingJobData("name", "zxc") // 添加参数 .usingJobData("inter", "桌球") // 添加参数 .build();
在对应的Job 里面便可以访问到这些数据
package com.quartz.test.hello;import org.quartz.Job;import org.quartz.JobDataMap;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * 任务类,每两秒执行一次hello world * @author 星驰太帅了 * */public class HelloJob implements Job{@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {JobDataMap detailMap = context.getJobDetail().getJobDataMap();JobDataMap triggerMap = context.getTrigger().getJobDataMap();System.out.println(detailMap.get("name"));System.out.println(detailMap.get("age"));System.out.println(triggerMap.get("name"));System.out.println(triggerMap.get("inter"));//也可以直接获取到两者合并的mapJobDataMap mergeMap = context.getMergedJobDataMap();System.out.println(mergeMap.get("age"));System.out.println(mergeMap.get("name"));System.out.println(mergeMap.get("inter"));//如果key有重复的,优先获取 trigger里面的值}}
第二种访问的方法,是在job 类中定义对应的key属性,便可以访问得到
package com.quartz.test.hello;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * 任务类,每两秒执行一次hello world * @author 星驰太帅了 * */public class HelloJob implements Job{private String name;private Integer age;private String inter;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getInter() {return inter;}public void setInter(String inter) {this.inter = inter;}@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {System.out.println(name);System.out.println(age);System.out.println(inter);}}
JobDataMap 是为了方便存入和得到对象的一个对象,使用方法是,先在JobDetial 或者 Trigger 中添加参数,然后在对应的Job 中便可以得到添加的参数
//绑定job到jobdetail 上JobDetail jobDetail = JobBuilder.newJob(HelloJob.class) .withIdentity("myJob", "group1") //唯一标记符 .usingJobData("name", "ldh") // 添加参数 .usingJobData("age", 24) // 添加参数 .build(); jobDetail.getJobDataMap().put("name", "zxc");//创建一个最简单的触发器Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("myTrigger", "group1") //唯一标记符 .withSchedule(SimpleScheduleBuilder.simpleSchedule() //创建一个简单的调度器 .withIntervalInSeconds(2000) // 每2秒执行一次 .repeatForever()) // 永远重复执行 .usingJobData("name", "zxc") // 添加参数 .usingJobData("inter", "桌球") // 添加参数 .build();
package com.quartz.test.hello;import org.quartz.Job;import org.quartz.JobDataMap;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * 任务类,每两秒执行一次hello world * @author 星驰太帅了 * */public class HelloJob implements Job{@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {JobDataMap detailMap = context.getJobDetail().getJobDataMap();JobDataMap triggerMap = context.getTrigger().getJobDataMap();System.out.println(detailMap.get("name"));System.out.println(detailMap.get("age"));System.out.println(triggerMap.get("name"));System.out.println(triggerMap.get("inter"));//也可以直接获取到两者合并的mapJobDataMap mergeMap = context.getMergedJobDataMap();System.out.println(mergeMap.get("age"));System.out.println(mergeMap.get("name"));System.out.println(mergeMap.get("inter"));//如果key有重复的,优先获取 trigger里面的值}}
package com.quartz.test.hello;import org.quartz.Job;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;/** * 任务类,每两秒执行一次hello world * @author 星驰太帅了 * */public class HelloJob implements Job{private String name;private Integer age;private String inter;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public String getInter() {return inter;}public void setInter(String inter) {this.inter = inter;}@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {System.out.println(name);System.out.println(age);System.out.println(inter);}}
obDataMap 是为了方便存入和得到对象的一个对象,使用方法是,先在JobDetial 或者 Trigger 中添加参数,然后在对应的Job 中便可以得到添加的参数
阅读全文
0 0
- org.quartz.JobDataMap 对象
- Quartz-JobDataMap 参数传递
- quartz报错:org.quartz.JobPersistenceException: Couldn't store job: JobDataMap values must be Strings w
- Quartz定时器---JobDataMap的运用
- Quartz定时器 ----JobDataMap的运用
- Quartz 有状态的JobDataMap
- 【Quartz】深入Job、JobDetail、JobDataMap、Trigger
- Quartz执行多作业,JobDataMap传值
- 【Quartz】深入Job、JobDetail、JobDataMap、Trigger
- JobDataMap
- 不支持类型 Quartz.JobDataMap,因为它实现 IDictionary。
- Quartz入门实例4-通过JobDataMap实现数据的传输
- Quartz 2.2.1学习笔记 (二) Jobs、JobDetail、JobDataMap
- Quartz 2.2.1学习笔记 (二) Jobs、JobDetail、JobDataMap
- org.quartz定时格式
- org.quartz.CronExpression
- org.quartz.jobPersistenceException:failure
- Spring quartz配置org.quartz-2.2.3
- ls命令按文件大小排序
- 学习Opencv2.4.9(四)---SVM支持向量机
- ajax中的suceess函数使用this
- 线上java.lang.OutOfMemoryError问题定位三板斧
- HTML5知识点总结
- org.quartz.JobDataMap 对象
- KNN 近邻算法
- 收尾和垃圾收集
- SQL Server游标,Cursor
- 通过InputMethodManager对输入法键盘进行关闭
- Hexo Github Pages 博客 [记录]
- ajax面试题
- 并行流计算
- ELK实时日志分析平台环境部署