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使得每天指定开始结束时间按间隔运行相关文档
Hostodo 商家是比较小众的国外VPS主机商,这不看到商家有推送促销优惠在美国西岸的斯波坎机房还有少部分库存准备通过低价格促销,年付低至12美元Linux VPS主机,且如果是1GB内存方案的可以享受六六折优惠,均是采用KVM架构,且可以支付宝付款。第一、商家优惠码优惠码:spokanessd 1GB+内存方案才可以用到优惠码,其他都是固定的优惠低至年12美元。第二、商家促销这里,我们可以看到...
OneTechCloud发布了本月促销信息,全场VPS主机月付9折,季付8折,优惠后香港VPS月付25.2元起,美国CN2 GIA线路高防VPS月付31.5元起。这是一家2019年成立的国人主机商,提供VPS主机和独立服务器租用,产品数据中心包括美国洛杉矶和中国香港,Cera的机器,VPS基于KVM架构,采用SSD硬盘,其中美国洛杉矶回程CN2 GIA,可选高防。下面列出部分套餐配置信息。美国CN...
CloudCone是一家成立于2017年的国外VPS主机商,提供独立服务器租用和VPS主机,其中VPS基于KVM架构,多个不同系列,譬如常规VPS、大硬盘VPS等等,数据中心在洛杉矶MC机房。商家2021年Flash Sale活动继续,最低每月1.99美元,支持7天退款到账户,支持使用PayPal或者支付宝付款,先充值后下单的方式。下面列出几款VPS主机配置信息。CPU:1core内存:768MB...
crontrigger为你推荐
strcatstrcat函数的使用微信收款语音播报怎么设置怎么设置农商银行的收钱语音播报?weakhashmap在Java中ArrayList、LinkedList、HashMap的区别是什么mindmanager破解版xmind mac破解版哪个好用天融信防火墙天融信下一代防火墙有那些特点和优势?php论坛怎样快速在个人电脑上建立一个自己的PHP论坛服务器?waves插件MuseScore vst插件怎么安装smartuploadjspsmartupload如何使用?系统论坛安卓系统论坛哪个好?相似图片搜索怎么找手机上的一张相似图片?
个人域名备案流程 什么是域名地址 抢票工具 debian7 蜗牛魔方 129邮箱 空间技术网 昆明蜗牛家 万网空间购买 石家庄服务器托管 注册阿里云邮箱 金主 买空间网 卡巴斯基试用版下载 深圳主机托管 hdsky 谷歌搜索打不开 蓝队云 godaddyssl phpwind论坛 更多