java quartz 例子_java quarter
非常感谢大家聚集在这里共同探讨java quartz 例子的话题。这个问题集合涵盖了java quartz 例子的广泛内容,我将用我的知识和经验为大家提供全面而深入的回答。
1.quartz 每天 8-10点每隔10分钟执行一次,11-13点每隔1小时执行一次 cronExpression 要怎么写?
2.Spring+quartz 做定时任务时,每5分种执行一次,怎么写法
3.Quartz 每月1号,执行规则表达式怎么列?
4.怎么用quartz控制任务的执行顺序
quartz 每天 8-10点每隔10分钟执行一次,11-13点每隔1小时执行一次 cronExpression 要怎么写?
0 0/10 8-11 1-30 8点(8点执行)到晚上10点每隔10分钟触发一次0 0/1 11-13 1-31 1-13点每隔1小时执行一次
cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。
1.Seconds (秒)
2.Minutes(分)
3.Hours(小时)
4.Day-of-Month? (天)
5.Month(月)
6.Day-of-Week (周)
7.Year(年)
例:"0 0 12 ? * WED” 意思是:每个星期三的中午12点执行。
个别子表达式可以包含范围或者列表。例如:上面例子中的WED可以换成"MON-FRI","MON,WED,FRI",甚至"MON-WED,SAT"。
子表达式范围:
1.Seconds (0~59)
2.Minutes (0~59)
3.Hours (0~23)
4.Day-of-Month (1~31,但是要注意有些月份没有31天)
5.Month (0~11,或者"JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV,DEC")
6.Day-of-Week (1~7,1=SUN 或者"SUN, MON, TUE, WED, THU, FRI, SAT”)
7.Year (1970~2099)
扩展资料:
Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能。
但就其简易形式看,你会发现它易用得简直让人受不了!。简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法:
public void execute(JobExecutionContext context)
throws JobExecutionException;
在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,Quartz将密切注意剩余时间。
当调度程序确定该是通知你的作业的时候,Quartz框架将调用你Job实现类(作业类)上的execute()方法并允许做它该做的事情。
无需报告任何东西给调度器或调用任何特定的东西。仅仅执行任务和结束任务即可。如果配置你的作业在随后再次被调用,Quartz框架将在恰当的时间再次调用它。
百度百科-quartz
Spring+quartz 做定时任务时,每5分种执行一次,怎么写法
哥们 java有一个 Quartz 这个开源框架 网上资源挺多的,我就不在这给你复制了。这个是专门定时调用某一程序的,我觉得挺好用。你可以看看。有事hi我
哦,看来你那模块应该简单吧,Quartz挺好用的。那给你段timer的代码吧
Timer taskTimer = new Timer(true);//java自带定时执行的类
taskTimer.schedule(new TimerTask()
{
public void run()
{
//这里是你要处理逻辑的地方
}
}, 0, 1000*60);
//后面0是执行任务前的延迟时间,单位是毫秒。
//1000*60是执行各后续任务之间的时间间隔,单位是毫秒。 也就是多长时间执行一次。
Quartz 每月1号,执行规则表达式怎么列?
写法如下:<beanid="StaticPageQuartz"class="com.test.quartz.pageconvertor.StaticPageConvertor"
/>
<beanid="BuildStaticPageTask"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
<propertyname="targetObject"ref="StaticPageQuartz"/>
<propertyname="targetMethod"value="doHTMLConvertor"/>
<propertyname="concurrent"value="false"/>
</bean>
<beanid="BuildStaticPageTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<propertyname="jobDetail"ref="BuildStaticPageTask"/>
<propertyname="cronExpression"value="00/5***?"/><!--每五分钟执行一次--
</bean>
扩展资料:
Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。
Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EE?full-stack(一站式)?轻量级开源框架。
Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。
Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或EJBs。Quartz的最新版本为Quartz2.3.0。
参考资料:
参考资料:
怎么用quartz控制任务的执行顺序
系统中通常有些需要自动执行的任务,这些任务可能每隔一段时间就要执行一次,也可能需要在指定的时间点自动执行,这些任务的自定执行必须使用任务的自动调度。JDK为简单的任务调度提供了Timer支持,单对于更复杂的调度,例如:需要在某的时刻调度任务时,Timer就显得力不从心了。
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。
下面为每周一上午10点15分执行任务
0 15 10 ? * MON
每月10号9点15分钟执行任务0 15 9 10 * ?
其它规则附录表,表示式说明
"0 0 12 * * ? " 每天12点运行
"0 15 10 ? * *" 每天10:15运行
"0 15 10 * * ?" 每天10:15运行
"0 15 10 * * ? *" 每天10:15运行
"0 15 10 * * ? 2008" 在2008年的每天10:15运行
"0 * 14 * * ?" 每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。
"0 0/5 14 * * ?" 每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。
"0 0/5 14,18 * * ?" 每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。
"0 0-5 14 * * ?" 每天14:00点到14:05,每分钟运行一次。
"0 10,44 14 ? 3 WED" 3月每周三的14:10分到14:44,每分钟运行一次。
"0 15 10 ? * MON-FRI" 每周一,二,三,四,五的10:15分运行
我是用的C#,相信JAVA中也存在类似的功能:1、设置需要在上一个job执行完成后继续执行的job的 StoreDurably(true)
var?job1?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey1).Build();var?job2?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey2)
.StoreDurably(true).Build();
var?job3?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey3)
.StoreDurably(true).Build();
2、添加job链监听:JobChainingJobListener
JobChainingJobListener?chain?=?new?JobChainingJobListener("testChain"); chain.AddJobChainLink(jobKey1,?jobKey2); chain.AddJobChainLink(jobKey2,?jobKey3);scheduler.ListenerManager.AddJobListener(chain,?GroupMatcher<JobKey>.AnyGroup());
3、将job添加到 scheduler
scheduler.ScheduleJob(job1,?trigger1); scheduler.AddJob(job2,?true); scheduler.AddJob(job3,?true);4、这样做的缺点:
尽管配置了相同jobKey串行执行,如果并发的触发任务链的下一次执行job1,将只会等待job1执行完成后(而不是整个任务链执行完毕)。也就是job1和job2、job3将会并发执行。有并发需求的同学请参考楼上的答案:把需要并行的任务塞到一个任务队列里面。
好了,今天关于“java quartz 例子”的探讨就到这里了。希望大家能够对“java quartz 例子”有更深入的认识,并且从我的回答中得到一些帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。