quartz定时任务_job实现类中获取传参02

摘要:
System.out.println(jobDetail.getJobClass().getName());“trigerParam1Value”).startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().wwithIntervalInSeconds(2).repeatForever()).build();

1.main方法:

public static void main(String[] args) throws SchedulerException {
// TODO Auto-generated method stub

// 创建一个JobDetail实例 将HelloJob类添加到JobDetail中
JobDetail jobDetail = JobBuilder.newJob(helloJob.class)
.withIdentity("myJob", "jobDetailGroup")
.usingJobData("message1","date1")
.usingJobData("float1", 3.14f)
.build();
System.out.println(jobDetail.getKey().getName());
System.out.println(jobDetail.getKey().getGroup());
System.out.println(jobDetail.getJobClass().getName());

//创建一个Trigger实例,定义该job立即执行,每隔两秒钟重复执行一次,一直不停
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("myTrigger","triggerGroup")
.usingJobData("triggerParam1","trigerParam1Value")
.startNow().withSchedule(
SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(2)
.repeatForever())
.build();
//创建Schduler实例
SchedulerFactory sfFactory = new StdSchedulerFactory();
Scheduler scheduler = sfFactory.getScheduler();
scheduler.start();

//打印当前时间
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("current scheduler time is :"+sdf.format(date));
scheduler.scheduleJob(jobDetail, trigger);

}

2.job实现类:

//实现job接口execute方法具体内容
public void execute(JobExecutionContext arg0) throws JobExecutionException{
//打印当前执行时间 格式:2017-01-01 00:00:00
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("job execute time is :"+sdf.format(date));

//编写具体业务逻辑
System.out.println("helloJob类 实现了 Job接口的execute方法");

JobKey jobkey=arg0.getJobDetail().getKey();
System.out.println("Job name:"+jobkey.getName()+" and Job group:"+jobkey.getGroup());

TriggerKey trkey = arg0.getTrigger().getKey();
System.out.println("Trigger name:"+trkey.getName()+" and Trigger group:"+trkey.getGroup());

JobDataMap jobDM = arg0.getJobDetail().getJobDataMap();
JobDataMap triDM = arg0.getTrigger().getJobDataMap();

String jobMsg = jobDM.getString("message1");
Float jobFloatValue =jobDM.getFloat("float1");
String triMsg = triDM.getString("triggerParam1");

System.out.println("jobMsg:"+jobMsg);
System.out.println("jobFloatValue:"+jobFloatValue);
System.out.println("triMsg:"+triMsg);
}

3.运行结果:

current scheduler time is :2018-01-03 17:43:59
job execute time is :2018-01-03 17:43:59
helloJob类 实现了 Job接口的execute方法
Job name:myJob and Job group:jobDetailGroup
Trigger name:myTrigger and Trigger group:triggerGroup
jobMsg:date1
jobFloatValue:3.14
triMsg:trigerParam1Value
job execute time is :2018-01-03 17:44:01
helloJob类 实现了 Job接口的execute方法
Job name:myJob and Job group:jobDetailGroup
Trigger name:myTrigger and Trigger group:triggerGroup
jobMsg:date1
jobFloatValue:3.14
triMsg:trigerParam1Value

免责声明:文章转载自《quartz定时任务_job实现类中获取传参02》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇数据库之索引与慢查询优化ES7前端异步玩法:async/await理解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用VsCode的Rest Client进行请求测试

平时工作使用VSCode进行request的提交和测试 =>{按照Rest Client 可以很轻松的帮助我们完成代码的调试,而且能帮我们编译成各种语言的代码使用(Generate Code Snippet)} 如下表:我是用了Get请求,然后Shift+Ctrl+P进入VsCode的命令行,然后选择 Rest Client:Generate Cod...

IOS 特定于设备的开发:获取额外的设备信息

sysctl()和sysctlbyname()允许获取系统信息。这些标准的UNIX函数用于询问操作系统有关硬件和OS的详细信息。 这些常量使你能够检查核心信息,比如系统的CPU频率,可用的内存量等。它引入了一个UIDevice类,用于搜集系统信息,并通过一系列方法调用返回它。 每个型号都提供了独特的内置能力,准确知道你正在处理哪款iPhone有助于确定那个...

SpringBoot入门及YML文件详解

SpringBoot 简介 微框架,与 Spring4 一起诞生,基于约定、生来为了简化 spring 的配置 优点 可以快速的上手,整合了一些子项目(开源框架或者第三方开源库) 可以依赖很少的配置快速的搭建项目 基于 spring 使开发者快速入门,门槛很低。 可以创建独立运行的应用而不需要依赖容器 提供很多 maven 极简配置,缺点是会引入很多不需...

Handsontable对单元格的操作

1.自动填充单元格数据 fillHandle:true/false    //当值为true时,允许拖动单元格右下角,将其值自动填充到选中的单元格 2.合并单元格 mergeCells:[{row:起始行数,cols:起始列数,rowspan:合并的行数,colspan:合并的列数},...] 3.初始化单元格或列的对齐方式 水平样式:htLeft,h...

java强制类型转换

在Java项目的实际开发和应用中,常常需要用到将对象转为String这一基本功能。本文将对常用的转换方法进行一个总结。常用的方法有Object.toString(),(String)要转换的对象,String.valueOf(Object)等。下面对这些方法一一进行分析。 方法1:采用 Object.toString()方法 请看下面的例子: 1 Obj...

更换路由时页面实现左右滑动的效果

切换路由时,页面实现左右滑动的效果(手机端使用场景比较多); 思路: 路由meta中添加level数字,代表层级,切换路由时,如果level值变小,则右滑动,否则左滑动 0. 效果 1. 路由添加滑动标记(router.js文件配置:) { path: 'test', name: 'test...