crontrigger如何使用quartz的Trigger使得每天指定开始结束时间按间隔运行
crontrigger 时间:2021-07-09 阅读:(
)
应该如何正确使用Quartz
第一步
导入相关的jar包
第二步
创建定时任务
一个定时任务对应一个Job实现类。
例如:
MyJob类为需要定时执行的类 --->
public class MyJob implements Job {
//MyJob类为需要定时执行的类,execute为定时执行的方法。
一个定时任务对应一个Job实现类。
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//业务逻辑
System.out.println("执行时间:"+new Date());
}
}
第三步
执行都是任务
public static void main(String[] args) throws Exception {
//SchedulerFactory 是一个接口,用于Scheduler的创建和管理
SchedulerFactory factory = new StdSchedulerFactory();
//从工厂里面拿到一个scheduler实例
//计划表(可能翻译的不太贴切),现在我们有了要做的内容,
//与调度程序交互的主要API
/*
* Scheduler的生命期,从SchedulerFactory创建它时开始,
到Scheduler调用shutdown()方法时结束;Scheduler被创建后,
可以增加、删除和列举Job和Trigger,以及执行其它与调度相关的操作
(如暂停Trigger)。
但是,Scheduler只有在调用start()方法后,
才会真正地触发trigger(即执行job)
*/
Scheduler scheduler = factory.getScheduler();
//具体任务.
//用于定义作业的实例
//JobBuilder - 用于定义/构建JobDetail实例,用于定义作业的实例。
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();
//Trigger(即触发器) - 定义执行给定作业的计划的组件
//TriggerBuilder - 用于定义/构建触发器实例
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/1 * * * * ?")).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
}cron表达式 每周一次
首先要了解格式是什么意思:
分钟 小时 日 月 周 〔用户名〕 命令
每周执行一次,应该要确定时间的,比如是每周的星期1的8点
分钟 小时 日 月 周 〔用户名〕 命令
59 7 * * 1 username /var/
解释一下吧,月和日写成*表示不管是哪一个月哪一天,只要周1的7点59分就开始执行,之所以不写8点整,是考虑到系统执行程序是有延迟时间的。
写在cron全局配置文件里面就可以了。
quartz怎么开始和关闭任务
sched.withSchedule(cronSchedule(0 0 17 * * , group1)
;
} catch (SchedulerException e) {
/
CronTrigger trigger = newTrigger()
;
m_logger.info(========WoShopJob == run === Scheduler start Complete;TODO
}
}
public static void main(String[] args) throws Exception {
WoShopJob wj = new WoShopJob().run().withIdentity(trigger1.class)
;
wj;
JobDetail job = newJob(WoShopFTP.build();!)?))
.withIdentity(job1.scheduleJob(job.start(), trigger):
public class WoShopJob {
public void run() {
SchedulerFactory sf = new StdSchedulerFactory();
sched, group1)
.build();
Scheduler sched = null.getScheduler();
try {
sched = sf代码很简单java如何根据用户设定的时间进行定时任务
给你一个案例
1.MyJob02
//首先我们需要定义一个任务类,比如为MyJob02 ,
//该类需要继承Job类,然后添加execute(JobExecutionContext context)方法,在
//这个方法中就是我们具体的任务执行的地方。
//由希望由调度程序执行的组件实现的接口
public class MyJob02 implements Job {
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
// TODO Auto-generated method stub
// 执行响应的任务.
System.out.println("HelloJob.execute,"+new Date());
}
2.
public static void main(String[] args) throws Exception {
//SchedulerFactory 是一个接口,用于Scheduler的创建和管理
SchedulerFactory factory = new StdSchedulerFactory();
//从工厂里面拿到一个scheduler实例
//计划表(可能翻译的不太贴切),现在我们有了要做的内容,
//与调度程序交互的主要API
/*
* Scheduler的生命期,从SchedulerFactory创建它时开始,
到Scheduler调用shutdown()方法时结束;Scheduler被创建后,
可以增加、删除和列举Job和Trigger,以及执行其它与调度相关的操作
(如暂停Trigger)。
但是,Scheduler只有在调用start()方法后,
才会真正地触发trigger(即执行job)
*/
Scheduler scheduler = factory.getScheduler();
//具体任务.
//用于定义作业的实例
//JobBuilder - 用于定义/构建JobDetail实例,用于定义作业的实例。
JobDetail job = JobBuilder.newJob(MyJob.class).withIdentity("job1", "group1").build();
//Trigger(即触发器) - 定义执行给定作业的计划的组件
//TriggerBuilder - 用于定义/构建触发器实例
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity("trigger1", "group1")
.withSchedule(CronScheduleBuilder.cronSchedule("0/1 * * * * ?")).build();
scheduler.scheduleJob(job, trigger);
scheduler.start();
}如何使用quartz的Trigger使得每天指定开始结束时间按间隔运行
首先解释下这个CronTrigger时间格式: ,分别对应: 秒>分>小时>日>月>周>年。
0 0/30 * ? * * * 你这个就是表示在每30分钟执行一次,0/30表示的含义是0是起始时间,30是间隔时间。
假如你服务在2013-07-16 10:04:57启动之后,就会在11:00开始执行第一次,之后每30分钟就会自动触发。
如果你这样设置0 5/30 * ? * * * 就会在10:05开始执行第一次,在10:35执行第二次,之后以此类推每30分钟执行一次。
关于cronExpression表达式,这里讲解一下:
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
表达式意义
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
...首先解释下这个CronTrigger时间格式: ,分别对应: 秒>分>小时>日>月>周>年。
0 0/30 * ? * * * 你这个就是表示在每30分钟执行一次,0/30表示的含义是0是起始时间,30是间隔时间。
假如你服务在2013-07-16 10:04:57启动之后,就会在11:00开始执行第一次,之后每30分钟就会自动触发。
如果你这样设置0 5/30 * ? * * * 就会在10:05开始执行第一次,在10:35执行第二次,之后以此类推每30分钟执行一次。
关于cronExpression表达式,这里讲解一下:
字段 允许值 允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选) 留空, 1970-2099 , - * /
表达式意义
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 2005" 2005年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
每天早上6点
0 6 * * *
每两个小时
0 */2 * * *
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3
1月1日早上4点
0 4 1 1 *
- crontrigger如何使用quartz的Trigger使得每天指定开始结束时间按间隔运行相关文档
DiyVM是一家成立于2009年的国人主机商,提供的产品包括VPS主机、独立服务器租用等,产品数据中心包括中国香港、日本大阪和美国洛杉矶等,其中VPS主机基于XEN架构,支持异地备份与自定义镜像,VPS和独立服务器均可提供内网IP功能。商家VPS主机均2GB内存起步,三个地区机房可选,使用优惠码后每月69元起;独立服务器开设在香港沙田电信机房,CN2线路,自动化开通上架,最低499元/月起。下面以...
轻云互联成立于2018年的国人商家,广州轻云互联网络科技有限公司旗下品牌,主要从事VPS、虚拟主机等云计算产品业务,适合建站、新手上车的值得选择,香港三网直连(电信CN2GIA联通移动CN2直连);美国圣何塞(回程三网CN2GIA)线路,所有产品均采用KVM虚拟技术架构,高效售后保障,稳定多年,高性能可用,网络优质,为您的业务保驾护航。活动规则:用户购买任意全区域云服务器月付以上享受免费更换IP服...
vinahost怎么样?vinahost是一家越南的主机商家,至今已经成13年了,企业运营,老牌商家,销售VPS、虚拟主机、域名、邮箱、独立服务器等,机房全部在越南,有Viettle和VNPT两个机房,其中VNPT机房中三网直连国内的机房,他家的产品优势就是100Mbps不限流量。目前,VinaHost商家发布了新的优惠,购买虚拟主机、邮箱、云服务器、VPS超过三个月都有赠送相应的时长,最高送半年...
crontrigger为你推荐
诺诺云代账上海的亮证节有讲到诺诺云代账,产品如何?rbf神经网络rbf神经网络的隐含层节点数是怎么样确定的qq注册账号用QQ注册有几种方法?网关和路由器的区别路由器和网关有什么区别?mindmanager破解版求mindmanager 2019 的注册机deviceid怎么能知道安卓系统手机的DEVICE ID?天融信防火墙如何使用天融信NGFW4000防火墙工具jql建筑设计图纸上JQL 梁,是不是地下正负零基础梁?急急!faq是什么意思在国际贸易中“FAQ”代表的是什么意思layoutsubviews如何让NSSplitView的子View的大小固定
美国虚拟主机推荐 directadmin 免费网络电视 商家促销 国外在线代理 双拼域名 柚子舍官网 股票老左 ntfs格式分区 cn3 傲盾官网 hdd 100mbps 网游服务器 如何安装服务器系统 512mb 外贸空间 石家庄服务器托管 德讯 cdn网站加速 更多