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使得每天指定开始结束时间按间隔运行相关文档

宝塔面板批量设置站点404页面

今天遇到一个网友,他在一个服务器中搭建有十几个网站,但是他之前都是采集站点数据很大,但是现在他删除数据之后希望设置可能有索引的文章给予404跳转页面。虽然他程序有默认的404页面,但是达不到他引流的目的,他希望设置统一的404页面。实际上设置还是很简单的,我们找到他是Nginx还是Apache,直接在引擎配置文件中设置即可。这里有看到他采用的是宝塔面板,直接在他的Nginx中设置。这里我们找到当前...

Virtono:圣何塞VPS七五折月付2.2欧元起,免费双倍内存

Virtono是一家成立于2014年的国外VPS主机商,提供VPS和服务器租用等产品,商家支持PayPal、信用卡、支付宝等国内外付款方式,可选数据中心共7个:罗马尼亚2个,美国3个(圣何塞、达拉斯、迈阿密),英国和德国各1个。目前,商家针对美国圣何塞机房VPS提供75折优惠码,同时,下单后在LET回复订单号还能获得双倍内存的升级。下面以圣何塞为例,分享几款VPS主机配置信息。Cloud VPSC...

PQ.hosting:香港HE/乌克兰/俄罗斯/荷兰/摩尔多瓦/德国/斯洛伐克/捷克vps,2核/2GB内存/30GB NVMe空间,€3/月

PQ.hosting怎么样?PQ.hosting是一家俄罗斯商家,正规公司,主要提供KVM VPS和独立服务器,VPS数据中心有香港HE、俄罗斯莫斯科DataPro、乌克兰VOLIA、拉脱维亚、荷兰Serverius、摩尔多瓦Alexhost、德国等。部分配置有变化,同时开通Paypal付款。香港、乌克兰、德国、斯洛伐克、捷克等为NVMe硬盘。香港为HE线路,三网绕美(不太建议香港)。免费支持wi...

crontrigger为你推荐
ipad怎么分屏苹果ipad 分屏功能怎么使用0x80070005win7怎样解决0x80070005错误?0x80070005计划任务时出现错误代码80070005g2g电子商务中的g2g模式代表adversary英语match,是什么意思.?showwindowVB6.0中ShowWindow函数的使用jdk6JDK6和JDK7两个版本有什么区别,初学者选那个好?数秦科技浙江数链科技有限公司怎么样?欢迎页面欢迎屏幕!!!!layoutsubviews如何自定义UISearchBar?
域名解析服务器 什么是二级域名 亚洲大于500m 本网站服务器在美国维护 warez 云网数据 韩国空间 2014年感恩节 unsplash 京东云擎 网通ip 域名转接 秒杀汇 广州服务器 香港新世界中心 丽萨 什么是web服务器 西安主机 浙江服务器 免费个人主页 更多