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使得每天指定开始结束时间按间隔运行相关文档
我们对于BlueHost主机商还是比较熟悉的,早年我们还是全民使用虚拟主机的时候,大部分的外贸主机都会用到BlueHost无限虚拟主机方案,那时候他们商家只有一款虚拟主机方案。目前,商家国际款和国内款是有差异营销的,BlueHost国内有提供香港、美国、印度和欧洲机房。包括有提供虚拟主机、VPS和独立服务器。现在,BlueHost 商家周年活动,全场五折优惠。我们看看这次的活动有哪些值得选择的。 ...
易探云服务器怎么过户/转让?易探云支持云服务器PUSH功能,该功能可将云服务器过户给指定用户。可带价PUSH,收到PUSH请求的用户在接收云服务器的同时,系统会扣除接收方的款项,同时扣除相关手续费,然后将款项打到发送方的账户下。易探云“PUSH服务器”的这一功能,可以让用户将闲置云服务器转让给更多需要购买的用户!易探云服务器怎么过户/PUSH?1.PUSH双方必须为认证用户:2.买家未接收前,卖家...
zoecloud怎么样?zoecloud是一家国人商家,5月成立,暂时主要提供香港BGP KVM VPS,线路为AS41378,并有首发永久8折优惠:HKBGP20OFF。目前,解锁香港区 Netflix、Youtube Premium ,但不保证一直解锁,谢绝以不是原生 IP 理由退款。不保证中国大陆连接速度,建议移动中转使用,配合广州移动食用效果更佳。点击进入:zoecloud官方网站地址zo...
crontrigger为你推荐
wmiprvsewmiprvsewmiprvsewmiprvse.exe能禁用吗showwindowC#中showwindow控件在哪里??md5值游戏安装包的MD5值怎么用?layout_gravityandroid 布局中 为什么能够通过android:layout_above 、android:layout_alignTop 、等 还要在之前加入tvosTVOS系统是什么?vipjrvipjr跟哒哒英语比,两家公司的区别在哪里?各自的特点有哪些?vipjr大家觉得vipjr少儿英语怎么样?靠谱不medias请帮我详细解释一下 chronological order和in medias resqq业务中心QQ业务办理
如何注册网站域名 过期域名抢注 t楼 bandwagonhost 网站监控 香港新世界电讯 南昌服务器托管 panel1 华为网络硬盘 我爱水煮鱼 架设服务器 空间论坛 qq云端 web服务器安全 网购分享 新加坡空间 华为云建站 php服务器 日本代理ip 杭州电信宽带优惠 更多