JobDataMap传递参数_02
JobDataMap属于JobDetail的一部分
可以在构建JobDataMap时传递参数
取出参数2种形式:
第1种:可以从execute方法的上下文中取出参数
第2种:在Job类中,定义参数名称,完成getset方法
推荐使用第2种+lombok
添加参数
//创建JobDetailJobDetail jobDetail = JobBuilder.newJob(MyJob.class)//唯一标识.withIdentity("jobDetail1", "group1")//添加参数通过usingJobData方法,传递给job.usingJobData("name","yx").build();
第1种:可以从execute方法的上下文中取出参数
package com.gblfy.job;import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;import java.time.LocalTime;public class MyJob implements Job {@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();/*1.从上下文中先获取getJobDetail2.再从getJobDetail中获取JobDataMap3.最后,从JobDataMap中,根据key获取对应属性的值*/JobDataMap jobDataMap = context.getJobDetail().getJobDataMap();String name = jobDataMap.getString("name");System.out.println("hello " + name + "我正在执行" + localTime);}
}
第2种:在Job类中,定义参数名称,完成getset方法
package com.gblfy.job;import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;import java.time.LocalTime;public class MyJob implements Job {private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();System.out.println("hello " + name + "我正在执行" + localTime);}
}
为了减少代码,建议引入lombok
</dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.12</version></dependency>
刚才的代码,简化为
package com.gblfy.job;import lombok.Getter;
import lombok.Setter;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.time.LocalTime;public class MyJob implements Job {@Getter@Setterprivate String name;@Overridepublic void execute(JobExecutionContext context) throws JobExecutionException {LocalTime localTime = LocalTime.now();System.out.println("hello " + name + "我正在执行" + localTime);}
}
效果是一样的
JobDataMap传递参数_02相关推荐
- HarmonyOS 界面跳转以及界面跳转的同时传递参数
HarmonyOS 不带参数界面之间跳转 package com.example.myapplication.slice; import com.example.myapplication.Resou ...
- 【Qt】信号和槽对值传递参数和引用传递参数的总结
在同一个线程中 当信号和槽都在同一个线程中时,值传递参数和引用传递参数有区别: 值传递会复制对象:(测试时,打印传递前后的地址不同) 引用传递不会复制对象:(测试时,打印传递前后的地址相同) 不在同一 ...
- python获取当前进程id_Python进程,多进程,获取进程id,给子进程传递参数操作示例...
本文实例讲述了Python进程,多进程,获取进程id,给子进程传递参数操作.分享给大家供大家参考,具体如下: 线程与线程之间共享全局变量,进程之间不能共享全局变量. 进程与进程相互独立 (可以通过s ...
- ref和out 传递参数(C#)
1.参数传递默认都是传递栈空间里面存储的内容 2.如果添加了ref那么传递的都是栈空间地址,而不再是栈空间里面的内容 3.如果添加了out,那么传递的也是栈空间的地址 1 //写一个方法计算一个int ...
- python参数传递方法_深入理解python中函数传递参数是值传递还是引用传递
python 的 深入理解python中函数传递参数是值传递还是引用传递 目前网络上大部分博客的结论都是这样的: Python不允许程序员选择采用传值还是传 引用.Python参数传递采用的肯定是&q ...
- React history.push 传递参数
从一个组件跳转到另外的组件,通过代码控制跳转如下: history.push("/index/goodsinfo/goodsdetail"); ///index/goodsinfo ...
- React 组件之间传递参数
其实react组件之间传递参数是比较简单的,但是没有具体的使用过,组件之间传递参数是比较常见的事情,所以记录一下,防止以后自己在网上胡乱的翻找 最近做了一个商品的列表页面,我想通过点击修改能够实现商品 ...
- Antd-Design List渲染列中Button 点击事件 传递参数
背景:使用List 渲染的后台数据列表中,点击删除按钮,可以将该项对应的主键传递给函数 点击删除的时候,将该条商品记录对应的id 传递给函数,通过调用后台接口删除 可以看到的是关键代码: onCli ...
- React onClick 传递参数
背景说明 在下图这样的列表中,点击删除按钮需要执行删除操作 列表产生: {title: '操作',dataIndex: 'rowguid',key: 'rowguid',render: (text, ...
最新文章
- AE 9.3代码 升级到AE10.0
- cookies和session区别
- 1743. 从相邻元素对还原数组
- jQuery如何在线导入js包
- 好代码实践:基于Redis的轻量级分布式均衡消费队列
- JMeter 做接口性能测试,YYDS!
- 支持同步的php目录,php – rsync同步省略目录
- 为什么你必须了解云原生?!
- 手机上有没有学python的软件-如何优雅的在手机上进行Python编程
- 关于OPENCV 访问外部传进来的Mat矩阵元素的问题
- 中级.NET开发人员应该知道些什么?
- 智器SmartQ T7历险记
- i.MX6ULL终结者RS232驱动测试及RS485测试
- 大数据思维的十大核心原理
- matlab绘制频谱图代码,用MATLAB实现函数的频谱图
- CF949A Zebras 构造
- 距离度量与相似度度量
- php array assoc,PHP array_uintersect_assoc() 函数
- 令人匪夷所思的 Magic 之魔数,你真的不会
- 微信中提示浏览器打开网址链接如何解决