Quartz实例:quartz定时任务代码示例
转自:http://www.blogchong.com/post/96.html
quartz定时任务调度框架,使用实例。
Job类://即实际调度任务实现
、
package net.csdn.edm.util.quartz; import java.util.HashMap; import java.util.Map; import net.csdn.common.logging.CSLogger; import net.csdn.common.logging.Loggers; import org.quartz.Job; import org.quartz.JobDataMap; import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; /** * @author:blogchong * @blog: http://www.blogchong.com/ * @Version:1.0 * @CreateTime:2014年12月30日 下午3:27:02 * @Description:定时进度job */ public class QuartzJob implements Job { protected CSLogger logger = Loggers.getLogger(QuartzJob. class ); @SuppressWarnings ( "static-access" ) public void execute(JobExecutionContext arg0) throws JobExecutionException { // 接收参数 JobDataMap jobDataMap = arg0.getJobDetail().getJobDataMap(); //通过这种方式,传递参数 String taskId = jobDataMap.getString( "taskId" ); //具体的定时任务实现,在这里实现即可 //具体实现略过 } } |
添加Job类:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
package net.csdn.edm.util.quartz; import net.csdn.common.logging.CSLogger; import net.csdn.common.logging.Loggers; import net.csdn.edm.util.MacroDef; import org.quartz.CronScheduleBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.Scheduler; import org.quartz.SchedulerException; import org.quartz.SchedulerFactory; import org.quartz.Trigger; import org.quartz.TriggerBuilder; import org.quartz.impl.StdSchedulerFactory; /** * @author:blogchong * @blog: http://www.blogchong.com/ * @Version:1.0 * @CreateTime:2014年12月30日 下午3:28:32 * @Description:添加job接口 */ public class QuartzAdd { public static SchedulerFactory schedFact = new StdSchedulerFactory(); protected static CSLogger logger = Loggers.getLogger(QuartzAdd. class ); public static Scheduler sched; public static void startSched() throws SchedulerException { try { QuartzAdd.sched = QuartzAdd.schedFact.getScheduler(); QuartzAdd.sched.start(); } catch (Exception e) { e.printStackTrace(); } } public static boolean quartzAdd(String type, String taskId) throws Exception { try { // 若sched未赋值或者未启动,则先在全局中启动它 if (QuartzAdd.sched == null || !QuartzAdd.sched.isStarted()) { QuartzAdd.startSched(); } //定时规则,跟普通crontable的差不多 String rule = "0 0/" + MacroDef.QUARTZ_INTERVAL + " * * * ?" ; //设置组名,和任务名 String quartz_name = taskId; String quartz_group = type; // 创建jobDetail实例,指定job名以及所属组 JobDetail jobDetail = JobBuilder.newJob(QuartzJob. class ) .withIdentity(quartz_name, quartz_group).build(); jobDetail.getJobDataMap().put( "taskId" , taskId); Trigger trigger = TriggerBuilder .newTrigger() .withIdentity(quartz_name, quartz_group) .withSchedule( CronScheduleBuilder.cronSchedule(rule)) .startNow().build(); QuartzAdd.sched.scheduleJob(jobDetail, trigger); logger.info( "[已添加定时获取进度任务, taskID:" + taskId + ", type:" + type + "]" ); return true ; } catch (Exception e) { logger.error( "[添加定时任务出错,任务号:" + taskId + "]" ); logger.error(e.toString()); return false ; } } } |
Quartz实例:quartz定时任务代码示例的更多相关文章
- 【Quartz】将定时任务持久化到数据库
之前的文章所做的demo是将定时任务的信息保存在内存中的,见以下配置 org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore 如果,我们需要在 ...
- 原!总结 quartz集群 定时任务 测试运行ok
由于项目优化重构,想将定时任务从quartz单机模式变成集群或分布式的方式.于是,百度了一圈....修修改改...用集群的方式部署定时任务,测试可以... 集群?分布式?什么区别? 集群:同一个业务, ...
- 3分钟掌握Quartz.net分布式定时任务的姿势
引言 长话短说,今天聊一聊分布式定时任务,我的流水账笔记: ASP.NET Core+Quartz.Net实现web定时任务 AspNetCore结合Redis实践消息队列 细心朋友稍一分析,就知道还 ...
- 使用Spring整合Quartz轻松完成定时任务
一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...
- Spring 3整合Quartz 2实现定时任务--转
常规整合 http://www.meiriyouke.net/?p=82 最近工作中需要用到定时任务的功能,虽然Spring3也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之 ...
- Spring 整合 Quartz 实现动态定时任务
复制自:https://www.2cto.com/kf/201605/504659.html 最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能 ...
- 【转】Spring 整合 Quartz 实现动态定时任务
http://blog.csdn.net/u014723529/article/details/51291289 最近项目中需要用到定时任务的功能,虽然spring 也自带了一个轻量级的定时任务实现, ...
- Spring 整合 Quartz 实现动态定时任务(附demo)
最近项目中需要用到定时任务的功能,虽然Spring 也自带了一个轻量级的定时任务实现,但感觉不够灵活,功能也不够强大.在考虑之后,决定整合更为专业的Quartz来实现定时任务功能. 普通定时任务 首先 ...
- Spring整合Quartz轻松完成定时任务
一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...
随机推荐
- Ionic3 环境搭建以及基础配置实现(更新中)
GitHub:https://github.com/Teloi 环境配置输入以下命令安装 Ionic (如果刚才设置了淘宝镜像源,可以使用 cnpm 代替 npm):npm install -g io ...
- java Web(2)
Servlet与web容器的配合: 1)客户端向Web服务器发起一个HTTP请求. 2)HTTP请求被Web服务器接受,如果请求的是静态页面,则由Web服务器负责处理.如果请求的是Java Web组件 ...
- Yoga710笔记本Win10和Ubuntu系统共存
联想yoga710默认安装了win10系统,且使用EFI分区格式,安装Ubuntu不是一般的困难,经公司小哥的帮助下,几次终于完成了Ubuntu和Win10 共存. 经过多次安装测试,暂时能运行成功的 ...
- Linux命令小记
以下说法都是基于普通用户的角度,如果是root,可能会有不同. (1)rm -r或-R选项:递归删除目录及其内容(子目录.文件) rm默认无法删除目录,如果删除空目录,可以使用-d选项.如果目录非空, ...
- 通用功能类:改变WinForm窗体显示颜色
一.显示窗体调用方法 protected override void OnLoad(EventArgs e) { MDIClientSupport.SetBevel ...
- day36 类的三大特性---封装以及Property特性
目录 类的封装 如果真的要拿 类的property特性 setter & deleter 类属性用法 类与对象的绑定方法和非绑定方法 对象方法&类方法&静态方法 隐藏模块内的函 ...
- 单链表每k个节点一组进行反转(最后不足k个也反转)
一道面试题,第一次碰到这道题的时候 要求10分钟之内手写代码实现,当时没写出来,后来花点时间把过程梳理一遍,也挺简单的....... 思路就是在原来单链表反转的基础上,加几个控制参数,记录几个关键节点 ...
- MATLAB图形界面设计(下)
文章参考Blue Mountain https://www.cnblogs.com/BlueMountain-HaggenDazs/p/4307777.html 一.菜单设计 1.建立菜单项 (1)建 ...
- 切割窗口url
var keyWords=location.href.split("?")[1].split("&"); console.log(keyWords) f ...
- dd命令测试IO
在实际环境中,测试IO写性能 首先需要实时监测磁盘的IO sar -d interval count 同时对磁盘进行IO压力写 time dd if=/dev/zero of=baa.img bs=1 ...